pub trait IncomingRequest: Sized {
type EndpointError: EndpointError;
type OutgoingResponse: OutgoingResponse;
const METADATA: Metadata;
// Required method
fn try_from_http_request<B, S>(
req: Request<B>,
path_args: &[S],
) -> Result<Self, FromHttpRequestError>
where B: AsRef<[u8]>,
S: AsRef<str>;
}
Available on crate feature
api
only.Expand description
A request type for a Matrix API endpoint, used for receiving requests.
Required Associated Constants§
Required Associated Types§
Sourcetype EndpointError: EndpointError
type EndpointError: EndpointError
A type capturing the error conditions that can be returned in the response.
Sourcetype OutgoingResponse: OutgoingResponse
type OutgoingResponse: OutgoingResponse
Response type to return when the request is successful.
Required Methods§
Sourcefn try_from_http_request<B, S>(
req: Request<B>,
path_args: &[S],
) -> Result<Self, FromHttpRequestError>
fn try_from_http_request<B, S>( req: Request<B>, path_args: &[S], ) -> Result<Self, FromHttpRequestError>
Tries to turn the given http::Request
into this request type,
together with the corresponding path arguments.
Note: The strings in path_args need to be percent-decoded.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.