Trait Metadata
pub trait Metadata: Sized {
type Authentication: AuthScheme;
type PathBuilder: PathBuilder;
const METHOD: Method;
const RATE_LIMITED: bool;
const PATH_BUILDER: Self::PathBuilder;
// Provided methods
fn empty_request_body<B>() -> B
where B: Default + BufMut { ... }
fn make_endpoint_url(
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
base_url: &str,
path_args: &[&dyn Display],
query_string: &str,
) -> Result<String, IntoHttpError> { ... }
}Expand description
Metadata about an API endpoint.
Required Associated Constants§
const RATE_LIMITED: bool
const RATE_LIMITED: bool
Whether or not this endpoint is rate limited by the server.
const PATH_BUILDER: Self::PathBuilder
const PATH_BUILDER: Self::PathBuilder
All info pertaining to an endpoint’s path.
Required Associated Types§
type Authentication: AuthScheme
type Authentication: AuthScheme
What authentication scheme the server uses for this endpoint.
type PathBuilder: PathBuilder
type PathBuilder: PathBuilder
The type used to build an endpoint’s path.
Provided Methods§
fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
Returns an empty request body for this Matrix request.
For GET requests, it returns an entirely empty buffer, for others it returns an empty JSON
object ({}).
fn make_endpoint_url(
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
base_url: &str,
path_args: &[&dyn Display],
query_string: &str,
) -> Result<String, IntoHttpError>
fn make_endpoint_url( path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, base_url: &str, path_args: &[&dyn Display], query_string: &str, ) -> Result<String, IntoHttpError>
Generate the endpoint URL for this endpoint.
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.