Update of hyper
* hyper::UriError was moved to http::InvalidUri * tokio_core::reactor::Handle is no longer used by the new hyper version; tokio_core can get dropped completely
This commit is contained in:
		
							parent
							
								
									799d8e8d77
								
							
						
					
					
						commit
						66037a9339
					
				| @ -12,22 +12,22 @@ version = "0.1.0" | ||||
| 
 | ||||
| [dependencies] | ||||
| futures = "0.1.14" | ||||
| hyper = "0.11.1" | ||||
| http = "0.1" | ||||
| hyper = "0.12" | ||||
| ruma-api = "0.4.0" | ||||
| ruma-client-api = "0.1.0" | ||||
| ruma-identifiers = "0.11.0" | ||||
| serde_json = "1.0.2" | ||||
| serde_urlencoded = "0.5.1" | ||||
| tokio-core = "0.1.8" | ||||
| url = "1.5.1" | ||||
| 
 | ||||
| [dependencies.hyper-tls] | ||||
| optional = true | ||||
| version = "0.1.2" | ||||
| version = "0.3.0" | ||||
| 
 | ||||
| [dependencies.native-tls] | ||||
| optional = true | ||||
| version = "0.1.4" | ||||
| version = "0.2.1" | ||||
| 
 | ||||
| [dev-dependencies] | ||||
| futures-await = { git = 'https://github.com/alexcrichton/futures-await' } | ||||
|  | ||||
| @ -20,7 +20,7 @@ macro_rules! endpoint { | ||||
|         #[$($attr)+] | ||||
|         pub mod $inner_mod { | ||||
|             use futures::Future; | ||||
|             use hyper::client::Connect; | ||||
|             use hyper::client::connect::Connect; | ||||
|             use ruma_client_api::$($outer_mod::)*$inner_mod::Endpoint; | ||||
|             $(use super::$super_import;)* | ||||
|             pub use ruma_client_api::$($outer_mod::)*$inner_mod::{ | ||||
| @ -37,7 +37,7 @@ macro_rules! endpoint { | ||||
|                 request: Request, | ||||
|             ) -> impl Future<Item = Response, Error = Error> | ||||
|             where | ||||
|                 C: Connect, | ||||
|                 C: Connect + 'static, | ||||
|             { | ||||
|                 client.request::<Endpoint>(request) | ||||
|             } | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| use hyper::error::{Error as HyperError, UriError}; | ||||
| use http::uri::InvalidUri; | ||||
| use hyper::error::Error as HyperError; | ||||
| use ruma_api::Error as RumaApiError; | ||||
| use serde_json::Error as SerdeJsonError; | ||||
| use serde_urlencoded::ser::Error as SerdeUrlEncodedSerializeError; | ||||
| @ -12,7 +13,7 @@ pub enum Error { | ||||
|     /// An error at the HTTP layer.
 | ||||
|     Hyper(HyperError), | ||||
|     /// An error when parsing a string as a URI.
 | ||||
|     Uri(UriError), | ||||
|     Uri(InvalidUri), | ||||
|     /// An error when parsing a string as a URL.
 | ||||
|     Url(ParseError), | ||||
|     /// An error converting between ruma_client_api types and Hyper types.
 | ||||
| @ -29,8 +30,8 @@ impl From<HyperError> for Error { | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| impl From<UriError> for Error { | ||||
|     fn from(error: UriError) -> Error { | ||||
| impl From<InvalidUri> for Error { | ||||
|     fn from(error: InvalidUri) -> Error { | ||||
|         Error::Uri(error) | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										23
									
								
								src/lib.rs
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								src/lib.rs
									
									
									
									
									
								
							| @ -5,6 +5,7 @@ | ||||
| #![feature(try_from)] | ||||
| 
 | ||||
| extern crate futures; | ||||
| extern crate http; | ||||
| extern crate hyper; | ||||
| #[cfg(feature = "tls")] | ||||
| extern crate hyper_tls; | ||||
| @ -15,7 +16,6 @@ extern crate ruma_client_api; | ||||
| extern crate ruma_identifiers; | ||||
| extern crate serde_json; | ||||
| extern crate serde_urlencoded; | ||||
| extern crate tokio_core; | ||||
| extern crate url; | ||||
| 
 | ||||
| use std::cell::RefCell; | ||||
| @ -26,13 +26,13 @@ use std::str::FromStr; | ||||
| use futures::future::{Future, FutureFrom, IntoFuture}; | ||||
| use futures::stream::{self, Stream}; | ||||
| use hyper::{Client as HyperClient, Uri}; | ||||
| use hyper::client::{Connect, HttpConnector}; | ||||
| use hyper::client::HttpConnector; | ||||
| use hyper::client::connect::Connect; | ||||
| #[cfg(feature = "hyper-tls")] | ||||
| use hyper_tls::HttpsConnector; | ||||
| #[cfg(feature = "hyper-tls")] | ||||
| use native_tls::Error as NativeTlsError; | ||||
| use ruma_api::Endpoint; | ||||
| use tokio_core::reactor::Handle; | ||||
| use url::Url; | ||||
| 
 | ||||
| pub use error::Error; | ||||
| @ -60,10 +60,10 @@ where | ||||
| 
 | ||||
| impl Client<HttpConnector> { | ||||
|     /// Creates a new client for making HTTP requests to the given homeserver.
 | ||||
|     pub fn new(handle: &Handle, homeserver_url: Url, session: Option<Session>) -> Self { | ||||
|     pub fn new(homeserver_url: Url, session: Option<Session>) -> Self { | ||||
|         Client(Rc::new(ClientData { | ||||
|             homeserver_url: homeserver_url, | ||||
|             hyper: HyperClient::configure().keep_alive(true).build(handle), | ||||
|             hyper: HyperClient::builder().keep_alive(true).build_http(), | ||||
|             session: RefCell::new(session), | ||||
|         })) | ||||
|     } | ||||
| @ -72,16 +72,15 @@ impl Client<HttpConnector> { | ||||
| #[cfg(feature = "tls")] | ||||
| impl Client<HttpsConnector<HttpConnector>> { | ||||
|     /// Creates a new client for making HTTPS requests to the given homeserver.
 | ||||
|     pub fn https(handle: &Handle, homeserver_url: Url, session: Option<Session>) -> Result<Self, NativeTlsError> { | ||||
|         let connector = HttpsConnector::new(4, handle)?; | ||||
|     pub fn https(homeserver_url: Url, session: Option<Session>) -> Result<Self, NativeTlsError> { | ||||
|         let connector = HttpsConnector::new(4)?; | ||||
| 
 | ||||
|         Ok(Client(Rc::new(ClientData { | ||||
|             homeserver_url: homeserver_url, | ||||
|             hyper: { | ||||
|                 HyperClient::configure() | ||||
|                     .connector(connector) | ||||
|                 HyperClient::builder() | ||||
|                     .keep_alive(true) | ||||
|                     .build(handle) | ||||
|                     .build(connector) | ||||
|             }, | ||||
|             session: RefCell::new(session), | ||||
|         }))) | ||||
| @ -90,7 +89,7 @@ impl Client<HttpsConnector<HttpConnector>> { | ||||
| 
 | ||||
| impl<C> Client<C> | ||||
| where | ||||
|     C: Connect, | ||||
|     C: Connect + 'static, | ||||
| { | ||||
|     /// Creates a new client using the given `hyper::Client`.
 | ||||
|     ///
 | ||||
| @ -261,7 +260,7 @@ where | ||||
|                     .map_err(Error::from) | ||||
|             }) | ||||
|             .and_then(move |(uri, mut hyper_request)| { | ||||
|                 hyper_request.set_uri(uri); | ||||
|                 *hyper_request.uri_mut() = uri; | ||||
| 
 | ||||
|                 data2.hyper | ||||
|                     .request(hyper_request) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user