pub struct Client<C>(/* private fields */);
client-ext-client-api
only.Expand description
A client for the Matrix client-server API.
Implementations§
Source§impl Client<()>
impl Client<()>
Sourcepub fn builder() -> ClientBuilder
Available on crate feature client
only.
pub fn builder() -> ClientBuilder
client
only.Creates a new client builder.
Source§impl<C> Client<C>
impl<C> Client<C>
Sourcepub fn access_token(&self) -> Option<String>
Available on crate feature client
only.
pub fn access_token(&self) -> Option<String>
client
only.Get a copy of the current access_token
, if any.
Useful for serializing and persisting the session to be restored later.
Source§impl<C> Client<C>where
C: HttpClient,
impl<C> Client<C>where
C: HttpClient,
Sourcepub async fn send_request<R>(
&self,
request: R,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
Available on crate feature client
only.
pub async fn send_request<R>(
&self,
request: R,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
client
only.Makes a request to a Matrix API endpoint.
Sourcepub async fn send_customized_request<R, F>(
&self,
request: R,
customize: F,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
F: FnOnce(&mut Request<<C as HttpClient>::RequestBody>) -> Result<(), Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>,
Available on crate feature client
only.
pub async fn send_customized_request<R, F>(
&self,
request: R,
customize: F,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
F: FnOnce(&mut Request<<C as HttpClient>::RequestBody>) -> Result<(), Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>,
client
only.Makes a request to a Matrix API endpoint including additional URL parameters.
Sourcepub async fn send_request_as<R>(
&self,
user_id: &UserId,
request: R,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
Available on crate feature client
only.
pub async fn send_request_as<R>(
&self,
user_id: &UserId,
request: R,
) -> Result<<R as OutgoingRequest>::IncomingResponse, Error<<C as HttpClient>::Error, <R as OutgoingRequest>::EndpointError>>where
R: OutgoingRequest,
client
only.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 as HttpClient>::Error, Error>>
Available on crate feature client
only.
pub async fn log_in( &self, user: &str, password: &str, device_id: Option<&DeviceId>, initial_device_display_name: Option<&str>, ) -> Result<Response, Error<<C as HttpClient>::Error, Error>>
client
only.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 as HttpClient>::Error, UiaaResponse>>
Available on crate feature client
only.
pub async fn register_guest( &self, ) -> Result<Response, Error<<C as HttpClient>::Error, UiaaResponse>>
client
only.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 as HttpClient>::Error, UiaaResponse>>
Available on crate feature client
only.
pub async fn register_user( &self, username: Option<&str>, password: &str, ) -> Result<Response, Error<<C as HttpClient>::Error, UiaaResponse>>
client
only.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(
&self,
filter: Option<Filter>,
since: String,
set_presence: PresenceState,
timeout: Option<Duration>,
) -> impl Stream<Item = Result<Response, Error<<C as HttpClient>::Error, Error>>>
Available on crate feature client
only.
pub fn sync( &self, filter: Option<Filter>, since: String, set_presence: PresenceState, timeout: Option<Duration>, ) -> impl Stream<Item = Result<Response, Error<<C as HttpClient>::Error, Error>>>
client
only.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...
}