Update ruma-api, ruma-client-api, ruma-events

This commit is contained in:
Jonas Platte 2020-04-22 13:31:26 +02:00
parent 6373bab18a
commit b3438bb99d
No known key found for this signature in database
GPG Key ID: 7D261D771D915378
4 changed files with 11 additions and 34 deletions

View File

@ -21,9 +21,9 @@ futures-util = "0.3.4"
http = "0.2.1" http = "0.2.1"
hyper = "0.13.5" hyper = "0.13.5"
hyper-tls = { version = "0.4.1", optional = true } hyper-tls = { version = "0.4.1", optional = true }
ruma-api = "0.16.0-rc.2" ruma-api = "0.16.0-rc.3"
ruma-client-api = "0.8.0-rc.4" ruma-client-api = "0.8.0-rc.4"
ruma-events = "0.20.0" ruma-events = "0.21.0-beta.1"
ruma-identifiers = "0.16.0" ruma-identifiers = "0.16.0"
serde = { version = "1.0.106", features = ["derive"] } serde = { version = "1.0.106", features = ["derive"] }
serde_json = "1.0.51" serde_json = "1.0.51"

View File

@ -41,7 +41,8 @@ async fn hello_world(homeserver_url: Url, room: String) -> anyhow::Result<()> {
format: None, format: None,
formatted_body: None, formatted_body: None,
relates_to: None, relates_to: None,
}), })
.into(),
}) })
.await?; .await?;

View File

@ -41,7 +41,7 @@ async fn log_messages(
.timeline .timeline
.events .events
.into_iter() .into_iter()
.flat_map(|r| r.into_result()) .flat_map(|r| r.deserialize())
{ {
// Filter out the text messages // Filter out the text messages
if let RoomEvent::RoomMessage(MessageEvent { if let RoomEvent::RoomMessage(MessageEvent {

View File

@ -119,10 +119,7 @@ use http::Response as HttpResponse;
use hyper::{client::HttpConnector, Client as HyperClient, Uri}; use hyper::{client::HttpConnector, Client as HyperClient, Uri};
#[cfg(feature = "hyper-tls")] #[cfg(feature = "hyper-tls")]
use hyper_tls::HttpsConnector; use hyper_tls::HttpsConnector;
use ruma_api::{ use ruma_api::Endpoint;
error::{FromHttpRequestError, FromHttpResponseError},
Endpoint, Outgoing,
};
use ruma_identifiers::DeviceId; use ruma_identifiers::DeviceId;
use std::collections::BTreeMap; use std::collections::BTreeMap;
use url::Url; use url::Url;
@ -334,9 +331,8 @@ where
since: Option<String>, since: Option<String>,
set_presence: api::r0::sync::sync_events::SetPresence, set_presence: api::r0::sync::sync_events::SetPresence,
timeout: Option<Duration>, timeout: Option<Duration>,
) -> impl Stream<Item = Result<api::r0::sync::sync_events::IncomingResponse, Error<api::Error>>> ) -> impl Stream<Item = Result<api::r0::sync::sync_events::Response, Error<api::Error>>>
+ TryStream<Ok = api::r0::sync::sync_events::IncomingResponse, Error = Error<api::Error>> + TryStream<Ok = api::r0::sync::sync_events::Response, Error = Error<api::Error>> {
{
use api::r0::sync::sync_events; use api::r0::sync::sync_events;
let client = self.clone(); let client = self.clone();
@ -365,16 +361,7 @@ where
pub fn request<Request: Endpoint>( pub fn request<Request: Endpoint>(
&self, &self,
request: Request, request: Request,
) -> impl Future< ) -> impl Future<Output = Result<Request::Response, Error<Request::ResponseError>>> {
Output = Result<<Request::Response as Outgoing>::Incoming, Error<Request::ResponseError>>,
>
// We need to duplicate Endpoint's where clauses because the compiler is not smart enough yet.
// See https://github.com/rust-lang/rust/issues/54149
where
Request::Incoming: TryFrom<http::Request<Vec<u8>>, Error = FromHttpRequestError>,
<Request::Response as Outgoing>::Incoming:
TryFrom<http::Response<Vec<u8>>, Error = FromHttpResponseError<Request::ResponseError>>,
{
self.request_with_url_params(request, None) self.request_with_url_params(request, None)
} }
@ -383,16 +370,7 @@ where
&self, &self,
request: Request, request: Request,
params: Option<BTreeMap<String, String>>, params: Option<BTreeMap<String, String>>,
) -> impl Future< ) -> impl Future<Output = Result<Request::Response, Error<Request::ResponseError>>> {
Output = Result<<Request::Response as Outgoing>::Incoming, Error<Request::ResponseError>>,
>
// We need to duplicate Endpoint's where clauses because the compiler is not smart enough yet.
// See https://github.com/rust-lang/rust/issues/54149
where
Request::Incoming: TryFrom<http::Request<Vec<u8>>, Error = FromHttpRequestError>,
<Request::Response as Outgoing>::Incoming:
TryFrom<http::Response<Vec<u8>>, Error = FromHttpResponseError<Request::ResponseError>>,
{
let client = self.0.clone(); let client = self.0.clone();
let mut url = client.homeserver_url.clone(); let mut url = client.homeserver_url.clone();
@ -432,9 +410,7 @@ where
let full_body = hyper::body::to_bytes(body).await?; let full_body = hyper::body::to_bytes(body).await?;
let full_response = HttpResponse::from_parts(head, full_body.as_ref().to_owned()); let full_response = HttpResponse::from_parts(head, full_body.as_ref().to_owned());
Ok(<Request::Response as Outgoing>::Incoming::try_from( Ok(Request::Response::try_from(full_response)?)
full_response,
)?)
} }
} }
} }