pub struct Metadata {
pub description: &'static str,
pub method: Method,
pub name: &'static str,
pub unstable_path: Option<&'static str>,
pub r0_path: Option<&'static str>,
pub stable_path: Option<&'static str>,
pub rate_limited: bool,
pub authentication: AuthScheme,
pub added: Option<MatrixVersion>,
pub deprecated: Option<MatrixVersion>,
pub removed: Option<MatrixVersion>,
}
api
only.Expand description
Metadata about an API endpoint.
Fields
description: &'static str
A human-readable description of the endpoint.
method: Method
The HTTP method used by this endpoint.
name: &'static str
A unique identifier for this endpoint.
unstable_path: Option<&'static str>
The unstable path of this endpoint’s URL, often None
, used for developmental
purposes.
r0_path: Option<&'static str>
The pre-v1.1 version of this endpoint’s URL, None
for post-v1.1 endpoints,
supplemental to stable_path
.
stable_path: Option<&'static str>
The path of this endpoint’s URL, with variable names where path parameters should be filled in during a request.
rate_limited: bool
Whether or not this endpoint is rate limited by the server.
authentication: AuthScheme
What authentication scheme the server uses for this endpoint.
added: Option<MatrixVersion>
The matrix version that this endpoint was added in.
Is None when this endpoint is unstable/unreleased.
deprecated: Option<MatrixVersion>
The matrix version that deprecated this endpoint.
Deprecation often precedes one matrix version before removal.
This will make try_into_http_request
emit a warning, see the corresponding documentation for more information.
removed: Option<MatrixVersion>
The matrix version that removed this endpoint.
This will make try_into_http_request
emit an error, see the corresponding documentation for more information.
Implementations
sourceimpl Metadata
impl Metadata
sourcepub fn versioning_decision_for(
&self,
versions: &[MatrixVersion]
) -> VersioningDecision
pub fn versioning_decision_for(
&self,
versions: &[MatrixVersion]
) -> VersioningDecision
Will decide how a particular set of matrix versions sees an endpoint.
It will pick Stable
over R0
and Unstable
. It’ll return Deprecated
or Removed
only
if all versions denote it.
In other words, if in any version it tells it supports the endpoint in a stable fashion,
this will return Stable
, even if some versions in this set will denote deprecation or
removal.
If resulting VersioningDecision
is Stable
, it will also detail if any version denoted
deprecation or removal.