ruma_common::api

Trait IncomingRequest

Source
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§

Source

const METADATA: Metadata

Metadata about the endpoint.

Required Associated Types§

Source

type EndpointError: EndpointError

A type capturing the error conditions that can be returned in the response.

Source

type OutgoingResponse: OutgoingResponse

Response type to return when the request is successful.

Required Methods§

Source

fn try_from_http_request<B, S>( req: Request<B>, path_args: &[S], ) -> Result<Self, FromHttpRequestError>
where B: AsRef<[u8]>, S: AsRef<str>,

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.

Implementors§