Trait poem_openapi::ApiExtractor
source · pub trait ApiExtractor<'a>: Sized {
type ParamType;
type ParamRawType;
const TYPE: ApiExtractorType;
const PARAM_IS_REQUIRED: bool = false;
// Required method
fn from_request<'life0, 'async_trait>(
request: &'a Request,
body: &'life0 mut RequestBody,
param_opts: ExtractParamOptions<Self::ParamType>
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn register(registry: &mut Registry) { ... }
fn security_scheme() -> Option<&'static str> { ... }
fn param_in() -> Option<MetaParamIn> { ... }
fn param_schema_ref() -> Option<MetaSchemaRef> { ... }
fn request_meta() -> Option<MetaRequest> { ... }
fn param_raw_type(&self) -> Option<&Self::ParamRawType> { ... }
}
Expand description
Represents a OpenAPI extractor.
Provided Implementations
-
Path<T: Type>
Extract the parameters in the request path into
Path
. -
Query<T: Type>
Extract the parameters in the query string into
Query
. -
Header<T: Type>
Extract the parameters in the request header into
Header
. -
Cookie<T: Type>
Extract the parameters in the cookie into
Cookie
. -
CookiePrivate<T: Type>
Extract the parameters in the private cookie into
CookiePrivate
. -
CookieSigned<T: Type>
Extract the parameters in the signed cookie into
CookieSigned
. -
Binary<T>
Extract the request body as binary into
Binary
. -
Json<T>
Parse the request body in
JSON
format intoJson
. -
PlainText<T>
Extract the request body as utf8 string into
PlainText
. -
Any type derived from the
ApiRequest
macroExtract the complex request body derived from the
ApiRequest
macro. -
Any type derived from the
Multipart
macroExtract the multipart object derived from the
Multipart
macro. -
Any type derived from the
SecurityScheme
macroExtract the authentication value derived from the
SecurityScheme
macro. -
T: poem::FromRequest
Use Poem’s extractor.
Required Associated Types§
sourcetype ParamRawType
type ParamRawType
The raw parameter type for validators.
Required Associated Constants§
sourceconst TYPE: ApiExtractorType
const TYPE: ApiExtractorType
The type of API extractor.
Provided Associated Constants§
sourceconst PARAM_IS_REQUIRED: bool = false
const PARAM_IS_REQUIRED: bool = false
If it is true
, it means that this parameter is required.
Required Methods§
sourcefn from_request<'life0, 'async_trait>(
request: &'a Request,
body: &'life0 mut RequestBody,
param_opts: ExtractParamOptions<Self::ParamType>
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn from_request<'life0, 'async_trait>( request: &'a Request, body: &'life0 mut RequestBody, param_opts: ExtractParamOptions<Self::ParamType> ) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where Self: 'async_trait, 'a: 'async_trait, 'life0: 'async_trait,
Parse from the HTTP request.
Provided Methods§
sourcefn security_scheme() -> Option<&'static str>
fn security_scheme() -> Option<&'static str>
Returns name of security scheme if this extractor is security scheme.
sourcefn param_in() -> Option<MetaParamIn>
fn param_in() -> Option<MetaParamIn>
Returns the location of the parameter if this extractor is parameter.
sourcefn param_schema_ref() -> Option<MetaSchemaRef>
fn param_schema_ref() -> Option<MetaSchemaRef>
Returns the schema of the parameter if this extractor is parameter.
sourcefn request_meta() -> Option<MetaRequest>
fn request_meta() -> Option<MetaRequest>
Returns MetaRequest
if this extractor is request object.
sourcefn param_raw_type(&self) -> Option<&Self::ParamRawType>
fn param_raw_type(&self) -> Option<&Self::ParamRawType>
Returns a reference to the raw type of this parameter.