rama::http::service::web::extract

Trait FromRequest

pub trait FromRequest:
    Sized
    + Send
    + Sync
    + 'static {
    type Rejection: IntoResponse;

    // Required method
    fn from_request(
        req: Request<Body>,
    ) -> impl Future<Output = Result<Self, Self::Rejection>> + Send;
}
Expand description

Types that can be created from requests.

Extractors that implement FromRequest can consume the request body and can thus only be run once for handlers.

If your extractor doesn’t need to consume the request body then you should implement [FromRequestParts] and not FromRequest.

Required Associated Types§

type Rejection: IntoResponse

If the extractor fails it’ll use this “rejection” type. A rejection is a kind of error that can be converted into a response.

Required Methods§

fn from_request( req: Request<Body>, ) -> impl Future<Output = Result<Self, Self::Rejection>> + Send

Perform the extraction.

Object Safety§

This trait is not object safe.

Implementors§

§

impl FromRequest for Request<Body>

§

impl FromRequest for Body

§

impl FromRequest for Bytes

§

type Rejection = BytesRejection

§

impl FromRequest for Text

§

type Rejection = TextRejection

§

impl<T> FromRequest for Form<T>
where T: DeserializeOwned + Send + Sync + 'static,

§

type Rejection = FormRejection

§

impl<T> FromRequest for Json<T>
where T: DeserializeOwned + Send + Sync + 'static,

§

type Rejection = JsonRejection