Struct Method

pub struct Method(/* private field */);

The Request Method (VERB)

This type also contains constants for a number of common HTTP methods such as GET, POST, etc.

Currently includes 8 variants representing the 8 methods defined in RFC 7230, plus PATCH, and an Extension variant for all extensions.

Examples

use http::Method;

assert_eq!(Method::GET, Method::from_bytes(b"GET").unwrap());
assert!(Method::GET.is_idempotent());
assert_eq!(Method::POST.as_str(), "POST");

Implementations

impl Method

const GET: Method = _;

GET

const POST: Method = _;

POST

const PUT: Method = _;

PUT

const DELETE: Method = _;

DELETE

const HEAD: Method = _;

HEAD

const OPTIONS: Method = _;

OPTIONS

const CONNECT: Method = _;

CONNECT

const PATCH: Method = _;

PATCH

const TRACE: Method = _;

TRACE

const QUERY: Method = _;

QUERY

fn from_bytes(src: &[u8]) -> Result<Method, InvalidMethod>

Converts a slice of bytes to an HTTP method.

fn is_safe(&self) -> bool

Whether a method is considered "safe", meaning the request is essentially read-only.

See the spec for more words.

fn is_idempotent(&self) -> bool

Whether a method is considered "idempotent", meaning the request has the same result if executed multiple times.

See the spec for more words.

fn as_str(&self) -> &str

Return a &str representation of the HTTP method

Trait Implementations

impl AsRef<str> for Method

fn as_ref(&self) -> &str

impl Clone for Method

fn clone(&self) -> Self

impl Debug for Method

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Default for Method

fn default() -> Method

impl Display for Method

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

impl Eq for Method

impl From<&Method> for Method

fn from(t: &Method) -> Self

impl FromStr for Method

type Err = InvalidMethod;
fn from_str(t: &str) -> Result<Self, Self::Err>

impl Hash for Method

fn hash<__H: Hasher>(&self, state: &mut __H)

impl Ord for Method

fn cmp(&self, other: &Method) -> Ordering

impl PartialEq for Method

fn eq(&self, other: &Self) -> bool

impl PartialEq<&Method> for Method

fn eq(&self, other: &&Method) -> bool

impl PartialEq<&str> for Method

fn eq(&self, other: &&str) -> bool

impl PartialEq<str> for Method

fn eq(&self, other: &str) -> bool

impl PartialOrd for Method

fn partial_cmp(&self, other: &Method) -> Option<Ordering>

impl StructuralPartialEq for Method

impl TryFrom<&[u8]> for Method

type Error = InvalidMethod;
fn try_from(t: &[u8]) -> Result<Self, Self::Error>

impl TryFrom<&str> for Method

type Error = InvalidMethod;
fn try_from(t: &str) -> Result<Self, Self::Error>

Auto Trait Implementations

impl Freeze for Method

impl RefUnwindSafe for Method

impl Send for Method

impl Sync for Method

impl Unpin for Method

impl UnsafeUnpin for Method

impl UnwindSafe for Method

Blanket Implementations

impl<T> Any for Method where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Method where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Method where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Method where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Method

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for Method where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T> ToString for Method where T: Display + ?Sized,

fn to_string(&self) -> String

impl<T, U> Into<U> for Method where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Method where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Method where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>