Add a `Docker::connect_with_url()` method
xfbs opened this issue · comments
Patrick Elsen commented
Could we have a connect_with_url()
method? I'm thinking to basically move use what you are doing in connect_with_defaults
, and then call this method from connect with defaults()
.
pub fn connect_with_defaults() -> Result<Docker, Error> {
let host = env::var("DOCKER_HOST").unwrap_or_else(|_| DEFAULT_DOCKER_HOST.to_string());
Self::connect_with_url(host)
}
pub fn connect_with_url(host: &str) -> Result<Docker, Error> {
match host {
#[cfg(unix)]
h if h.starts_with("unix://") => {
Docker::connect_with_unix(&h, DEFAULT_TIMEOUT, API_DEFAULT_VERSION)
}
#[cfg(windows)]
h if h.starts_with("npipe://") => {
Docker::connect_with_named_pipe(&h, DEFAULT_TIMEOUT, API_DEFAULT_VERSION)
}
h if h.starts_with("tcp://") || h.starts_with("http://") => {
#[cfg(feature = "ssl")]
if env::var("DOCKER_TLS_VERIFY").is_ok() {
return Docker::connect_with_ssl_defaults();
}
Docker::connect_with_http_defaults()
}
#[cfg(feature = "ssl")]
h if h.starts_with("https://") => Docker::connect_with_ssl_defaults(),
_ => Err(UnsupportedURISchemeError {
uri: host.to_string(),
}),
}
}
Niel Drummond commented
We recently added a connect_with_defaults
method which sources that DOCKER_HOST
environment variable
Line 656 in 4d80356
connect_with_url
invocationEddú Meléndez Gonzales commented
Hi, jumping here because I'm also interested in this issue. It would be nice to allow setting headers as well to set custom User-Agent
from clients consuming the library. It would be even much better to accept a http request to make the client fully configurable.