summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Eizinger <thomas@eizinger.io>2019-12-27 04:17:07 +0100
committerDoug Tangren <d.tangren@gmail.com>2019-12-26 22:17:07 -0500
commita368a93e1f217cd38a0fe52456b4ab03008d75d4 (patch)
tree3ca636a28ebf6da3d7f40044e5b3ac85dbc97748
parent1718105d19c53e817de9776011daacb17f6ac275 (diff)
Re-export hyper::Uri as shiplift::Uri (#209)
This patch removes the explicit dependency on the http crate and instead accesses the re-exported version of hyper. This should make the update process slightly easier because those versions would need to be kept in sync manually. We also re-export hyper::Uri as shiplift::Uri because it is part of the public API of shiplift::Docker. This allows users to access the Uri type without having to seperately depend on http or hyper.
-rw-r--r--Cargo.toml1
-rw-r--r--src/errors.rs7
-rw-r--r--src/lib.rs3
-rw-r--r--src/transport.rs2
-rw-r--r--tests/reexported_types.rs4
5 files changed, 10 insertions, 7 deletions
diff --git a/Cargo.toml b/Cargo.toml
index a550b43..c85ed4e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -26,7 +26,6 @@ bytes = "0.4"
chrono = { version = "0.4", optional = true, features = ["serde"] }
flate2 = "1.0"
futures = "0.1"
-http = "0.1"
hyper = "0.12"
hyper-openssl = { version = "0.7", optional = true }
hyperlocal = { version = "0.6", optional = true }
diff --git a/src/errors.rs b/src/errors.rs
index 85e46b8..f0f70d7 100644
--- a/src/errors.rs
+++ b/src/errors.rs
@@ -1,6 +1,5 @@
//! Representations of various client errors
-use http;
use hyper::{self, StatusCode};
use serde_json::Error as SerdeError;
use std::{error::Error as StdError, fmt, io::Error as IoError, string::FromUtf8Error};
@@ -9,7 +8,7 @@ use std::{error::Error as StdError, fmt, io::Error as IoError, string::FromUtf8E
pub enum Error {
SerdeJsonError(SerdeError),
Hyper(hyper::Error),
- Http(http::Error),
+ Http(hyper::http::Error),
IO(IoError),
Encoding(FromUtf8Error),
InvalidResponse(String),
@@ -29,8 +28,8 @@ impl From<hyper::Error> for Error {
}
}
-impl From<http::Error> for Error {
- fn from(error: http::Error) -> Error {
+impl From<hyper::http::Error> for Error {
+ fn from(error: hyper::http::Error) -> Error {
Error::Http(error)
}
}
diff --git a/src/lib.rs b/src/lib.rs
index f96915a..14ed170 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -46,7 +46,8 @@ use crate::{
tty::TtyDecoder,
};
use futures::{future::Either, Future, IntoFuture, Stream};
-use hyper::{client::HttpConnector, Body, Client, Method, Uri};
+pub use hyper::Uri;
+use hyper::{client::HttpConnector, Body, Client, Method};
#[cfg(feature = "tls")]
use hyper_openssl::HttpsConnector;
#[cfg(feature = "unix-socket")]
diff --git a/src/transport.rs b/src/transport.rs
index 2887790..7cc1fb1 100644
--- a/src/transport.rs
+++ b/src/transport.rs
@@ -148,7 +148,7 @@ impl Transport {
endpoint: &str,
body: Option<(B, Mime)>,
headers: Option<H>,
- f: impl FnOnce(&mut ::http::request::Builder),
+ f: impl FnOnce(&mut ::hyper::http::request::Builder),
) -> Result<Request<Body>>
where
B: Into<Body>,
diff --git a/tests/reexported_types.rs b/tests/reexported_types.rs
new file mode 100644
index 0000000..7a08130
--- /dev/null
+++ b/tests/reexported_types.rs
@@ -0,0 +1,4 @@
+#[test]
+fn can_access_uri_from_shiplift_crate() {
+ let _ = shiplift::Uri::default();
+}