#[non_exhaustive]pub struct Request {
pub txn_id: OwnedTransactionId,
pub events: Vec<Raw<AnyTimelineEvent>>,
pub device_lists: DeviceLists,
pub device_one_time_keys_count: BTreeMap<OwnedUserId, BTreeMap<OwnedDeviceId, BTreeMap<OneTimeKeyAlgorithm, UInt>>>,
pub device_unused_fallback_key_types: BTreeMap<OwnedUserId, BTreeMap<OwnedDeviceId, Vec<OneTimeKeyAlgorithm>>>,
pub ephemeral: Vec<Raw<EphemeralData>>,
pub to_device: Vec<Raw<AnyToDeviceEvent>>,
}Expand description
Request type for the push_events endpoint.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.txn_id: OwnedTransactionIdThe transaction ID for this set of events.
Homeservers generate these IDs and they are used to ensure idempotency of results.
events: Vec<Raw<AnyTimelineEvent>>A list of events.
device_lists: DeviceListsInformation on E2E device updates.
device_one_time_keys_count: BTreeMap<OwnedUserId, BTreeMap<OwnedDeviceId, BTreeMap<OneTimeKeyAlgorithm, UInt>>>The number of unclaimed one-time keys currently held on the server for this device, for each algorithm.
device_unused_fallback_key_types: BTreeMap<OwnedUserId, BTreeMap<OwnedDeviceId, Vec<OneTimeKeyAlgorithm>>>A list of key algorithms for which the server has an unused fallback key for the device.
ephemeral: Vec<Raw<EphemeralData>>A list of ephemeral data.
to_device: Vec<Raw<AnyToDeviceEvent>>A list of to-device messages.
Implementations§
Source§impl Request
impl Request
Sourcepub fn new(
txn_id: OwnedTransactionId,
events: Vec<Raw<AnyTimelineEvent>>,
) -> Request
pub fn new( txn_id: OwnedTransactionId, events: Vec<Raw<AnyTimelineEvent>>, ) -> Request
Creates an Request with the given transaction ID and list of events.
Trait Implementations§
Source§impl IncomingRequest for Request
Available on crate feature server only.
impl IncomingRequest for Request
Available on crate feature
server only.Source§type EndpointError = MatrixError
type EndpointError = MatrixError
A type capturing the error conditions that can be returned in the response.
Source§type OutgoingResponse = Response
type OutgoingResponse = Response
Response type to return when the request is successful.
Source§fn try_from_http_request<B, S>(
request: Request<B>,
path_args: &[S],
) -> Result<Self, FromHttpRequestError>
fn try_from_http_request<B, S>( request: 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. Read moreSource§fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
fn check_request_method(method: &Method) -> Result<(), FromHttpRequestError>
Check whether the given HTTP method from an incoming request is compatible with the expected
METHOD of this endpoint.Source§impl Metadata for Request
impl Metadata for Request
Source§const METHOD: Method = ::ruma_common::exports::http::Method::PUT
const METHOD: Method = ::ruma_common::exports::http::Method::PUT
The HTTP method used by this endpoint.
Source§const RATE_LIMITED: bool = false
const RATE_LIMITED: bool = false
Whether or not this endpoint is rate limited by the server.
Source§const PATH_BUILDER: SinglePath
const PATH_BUILDER: SinglePath
All info pertaining to an endpoint’s path.
Source§type Authentication = AccessToken
type Authentication = AccessToken
What authentication scheme the server uses for this endpoint.
Source§type PathBuilder = SinglePath
type PathBuilder = SinglePath
The type used to build an endpoint’s path.
Source§fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
Returns an empty request body for this Matrix request. Read more
Source§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.
Source§impl OutgoingRequest for Request
Available on crate feature client only.
impl OutgoingRequest for Request
Available on crate feature
client only.Source§type EndpointError = MatrixError
type EndpointError = MatrixError
A type capturing the expected error conditions the server can return.
Source§type IncomingResponse = Response
type IncomingResponse = Response
Response type returned when the request is successful.
Source§fn try_into_http_request<T: Default + BufMut + AsRef<[u8]>>(
self,
base_url: &str,
authentication_input: <<Self as Metadata>::Authentication as AuthScheme>::Input<'_>,
path_builder_input: <<Self as Metadata>::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T: Default + BufMut + AsRef<[u8]>>( self, base_url: &str, authentication_input: <<Self as Metadata>::Authentication as AuthScheme>::Input<'_>, path_builder_input: <<Self as Metadata>::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
Tries to convert this request into an
http::Request. Read moreAuto Trait Implementations§
impl Freeze for Request
impl RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl UnwindSafe for Request
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
impl<T> OutgoingRequestAppserviceExt for Twhere
T: OutgoingRequest,
<T as Metadata>::Authentication: for<'a> AuthScheme<Input<'a> = SendAccessToken<'a>>,
Source§fn try_into_http_request_with_identity<T>(
self,
base_url: &str,
access_token: SendAccessToken<'_>,
identity: AppserviceUserIdentity<'_>,
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request_with_identity<T>( self, base_url: &str, access_token: SendAccessToken<'_>, identity: AppserviceUserIdentity<'_>, path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
Tries to convert this request into an
http::Request and adds the given
AppserviceUserIdentity to it, if the identity is not empty.