Struct ruma_client::Client
source · [−]pub struct Client<C>(_);
client-api
only.Expand description
A client for the Matrix client-server API.
Implementations
sourceimpl<C> Client<C>
impl<C> Client<C>
sourcepub fn access_token(&self) -> Option<String>
pub fn access_token(&self) -> Option<String>
Get a copy of the current access_token
, if any.
Useful for serializing and persisting the session to be restored later.
sourceimpl<C: HttpClient> Client<C>
impl<C: HttpClient> Client<C>
sourcepub async fn send_request<R: OutgoingRequest>(
&self,
request: R
) -> ResponseResult<C, R>
pub async fn send_request<R: OutgoingRequest>(
&self,
request: R
) -> ResponseResult<C, R>
Makes a request to a Matrix API endpoint.
sourcepub async fn send_customized_request<R, F>(
&self,
request: R,
customize: F
) -> ResponseResult<C, R>where
R: OutgoingRequest,
F: FnOnce(&mut Request<C::RequestBody>) -> Result<(), ResponseError<C, R>>,
pub async fn send_customized_request<R, F>(
&self,
request: R,
customize: F
) -> ResponseResult<C, R>where
R: OutgoingRequest,
F: FnOnce(&mut Request<C::RequestBody>) -> Result<(), ResponseError<C, R>>,
Makes a request to a Matrix API endpoint including additional URL parameters.
sourcepub async fn send_request_as<R: OutgoingRequest>(
&self,
user_id: &UserId,
request: R
) -> ResponseResult<C, R>
pub async fn send_request_as<R: OutgoingRequest>(
&self,
user_id: &UserId,
request: R
) -> ResponseResult<C, R>
Makes a request to a Matrix API endpoint as a virtual user.
This method is meant to be used by application services when interacting with the client-server API.
sourcepub async fn log_in(
&self,
user: &str,
password: &str,
device_id: Option<&DeviceId>,
initial_device_display_name: Option<&str>
) -> Result<Response, Error<C::Error, Error>>
pub async fn log_in(
&self,
user: &str,
password: &str,
device_id: Option<&DeviceId>,
initial_device_display_name: Option<&str>
) -> Result<Response, Error<C::Error, Error>>
Log in with a username and password.
In contrast to send_request
, this method stores the access token
returned by the endpoint in this client, in addition to returning it.
sourcepub async fn register_guest(
&self
) -> Result<Response, Error<C::Error, UiaaResponse>>
pub async fn register_guest(
&self
) -> Result<Response, Error<C::Error, UiaaResponse>>
Register as a guest.
In contrast to send_request
, this method stores the access token
returned by the endpoint in this client, in addition to returning it.
sourcepub async fn register_user(
&self,
username: Option<&str>,
password: &str
) -> Result<Response, Error<C::Error, UiaaResponse>>
pub async fn register_user(
&self,
username: Option<&str>,
password: &str
) -> Result<Response, Error<C::Error, UiaaResponse>>
Register as a new user on this server.
In contrast to send_request
, this method stores the access token
returned by the endpoint in this client, in addition to returning it.
The username is the local part of the returned user_id. If it is omitted from this request, the server will generate one.
sourcepub fn sync<'a>(
&'a self,
filter: Option<&'a Filter<'a>>,
since: String,
set_presence: &'a PresenceState,
timeout: Option<Duration>
) -> impl Stream<Item = Result<Response, Error<C::Error, Error>>> + 'a
pub fn sync<'a>(
&'a self,
filter: Option<&'a Filter<'a>>,
since: String,
set_presence: &'a PresenceState,
timeout: Option<Duration>
) -> impl Stream<Item = Result<Response, Error<C::Error, Error>>> + 'a
Convenience method that represents repeated calls to the sync_events endpoint as a stream.
Example:
use std::time::Duration;
let mut sync_stream = Box::pin(client.sync(
None,
next_batch_token,
&PresenceState::Online,
Some(Duration::from_secs(30)),
));
while let Some(response) = sync_stream.try_next().await? {
// Do something with the data in the response...
}
Trait Implementations
Auto Trait Implementations
impl<C> RefUnwindSafe for Client<C>where
C: RefUnwindSafe,
impl<C> Send for Client<C>where
C: Send + Sync,
impl<C> Sync for Client<C>where
C: Send + Sync,
impl<C> Unpin for Client<C>
impl<C> UnwindSafe for Client<C>where
C: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more