#[non_exhaustive]pub struct Request {
pub room_id: OwnedRoomId,
pub event_type: MessageLikeEventType,
pub txn_id: OwnedTransactionId,
pub body: Raw<AnyMessageLikeEventContent>,
pub timestamp: Option<MilliSecondsSinceUnixEpoch>,
pub sticky_duration_ms: Option<StickyDurationMs>,
}client or server only.Expand description
Request type for the create_message_event endpoint.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.room_id: OwnedRoomIdThe room to send the event to.
event_type: MessageLikeEventTypeThe type of event to send.
txn_id: OwnedTransactionIdThe transaction ID for this event.
Clients should generate a unique ID across requests within the same session. A session is identified by an access token, and persists when the access token is refreshed.
It will be used by the server to ensure idempotency of requests.
body: Raw<AnyMessageLikeEventContent>The event content to send.
timestamp: Option<MilliSecondsSinceUnixEpoch>Timestamp to use for the origin_server_ts of the event.
This is called timestamp massaging and can only be used by Appservices.
Note that this does not change the position of the event in the timeline.
sticky_duration_ms: Option<StickyDurationMs>unstable-msc4354 only.The duration to stick the event for.
Valid values are the integer range 0-3600000 (1 hour). The presence of this field indicates that the event should be sticky, this will give this event additional delivery guarantees.
Caller must first check that the server supports sticky events (via /versions),
or it will be no-op.
Implementations§
Source§impl Request
impl Request
Sourcepub fn new<T>(
room_id: OwnedRoomId,
txn_id: OwnedTransactionId,
content: &T,
) -> Result<Self>where
T: MessageLikeEventContent,
pub fn new<T>(
room_id: OwnedRoomId,
txn_id: OwnedTransactionId,
content: &T,
) -> Result<Self>where
T: MessageLikeEventContent,
Sourcepub fn new_raw(
room_id: OwnedRoomId,
txn_id: OwnedTransactionId,
event_type: MessageLikeEventType,
body: Raw<AnyMessageLikeEventContent>,
) -> Self
pub fn new_raw( room_id: OwnedRoomId, txn_id: OwnedTransactionId, event_type: MessageLikeEventType, body: Raw<AnyMessageLikeEventContent>, ) -> Self
Creates a new Request with the given room id, transaction id, event type and raw event
content.
Trait Implementations§
Source§impl IncomingRequest for Request
Available on crate feature server only.
impl IncomingRequest for Request
server only.Source§type EndpointError = Error
type EndpointError = Error
Source§type OutgoingResponse = Response
type OutgoingResponse = Response
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>
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>
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
Source§const RATE_LIMITED: bool = false
const RATE_LIMITED: bool = false
Source§const PATH_BUILDER: VersionHistory
const PATH_BUILDER: VersionHistory
Source§type Authentication = AccessToken
type Authentication = AccessToken
Source§type PathBuilder = VersionHistory
type PathBuilder = VersionHistory
Source§fn empty_request_body<B>() -> B
fn empty_request_body<B>() -> B
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>
Source§impl OutgoingRequest for Request
Available on crate feature client only.
impl OutgoingRequest for Request
client only.Source§type EndpointError = Error
type EndpointError = Error
Source§type IncomingResponse = Response
type IncomingResponse = Response
Source§fn try_into_http_request_inner(
self,
base_url: &str,
path_builder_input: <<Self as Metadata>::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<Self::Body>, IntoHttpError>
fn try_into_http_request_inner( self, base_url: &str, path_builder_input: <<Self as Metadata>::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<Self::Body>, IntoHttpError>
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 UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read moreSource§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>
impl<T> JsonCastable<CanonicalJsonValue> for T
impl<T> JsonCastable<Value> for T
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>
http::Request and adds the given
AppserviceUserIdentity to it, if the identity is not empty.Source§impl<T> OutgoingRequestExt for Twhere
T: OutgoingRequest,
impl<T> OutgoingRequestExt for Twhere
T: OutgoingRequest,
Source§fn try_into_http_request<T>(
self,
base_url: &str,
authentication_input: <Self::Authentication as AuthScheme>::Input<'_>,
path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>,
) -> Result<Request<T>, IntoHttpError>
fn try_into_http_request<T>( self, base_url: &str, authentication_input: <Self::Authentication as AuthScheme>::Input<'_>, path_builder_input: <Self::PathBuilder as PathBuilder>::Input<'_>, ) -> Result<Request<T>, IntoHttpError>
http::Request. Read more