Skip to main content

RequestHead

Struct RequestHead 

Source
pub struct RequestHead { /* private fields */ }
Expand description

A canonical, transport-independent HTTP request head.

Carries the method, request target, HTTP version, and headers from an HTTP request. Immutable after construction.

§Hyper independence

No Hyper type appears in this struct or its public API. Downstream code can inspect requests using only public eggserve types.

§Construction

Build through validated constructors or from the runtime adapter (Hyper → canonical conversion).

Implementations§

Source§

impl RequestHead

Source

pub fn new( method: Method, target: RequestTarget, version: HttpVersion, headers: HeaderBlock, ) -> Self

Create a new request head.

Prefer using Self::try_from_hyper for converting from Hyper requests. This constructor is for direct construction in tests or downstream code that already has validated components.

Source

pub fn method(&self) -> &Method

Returns the request method.

Source

pub fn target(&self) -> &RequestTarget

Returns the request target.

Source

pub fn version(&self) -> HttpVersion

Returns the HTTP version.

Source

pub fn headers(&self) -> &HeaderBlock

Returns the header block.

Source

pub fn is_head(&self) -> bool

Returns true if this is a HEAD request.

Source

pub fn is_get(&self) -> bool

Returns true if this is a GET request.

Source

pub fn permits_static_resolution(&self) -> bool

Returns true if the method permits static file resolution.

Source

pub fn try_from_hyper<B>(req: &Request<B>) -> Result<Self, RequestHeadError>

Convert a Hyper request into a canonical RequestHead.

Extracts method, URI, version, and headers from the Hyper request without consuming the body. The conversion is fallible and typed: malformed or unsupported input is rejected before handlers.

§Errors

Returns RequestHeadError if the request target, version, or headers are invalid.

Trait Implementations§

Source§

impl Clone for RequestHead

Source§

fn clone(&self) -> RequestHead

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RequestHead

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.