forked from Deuxfleurs/garage
Allow external HTTP client
This commit is contained in:
parent
61758ce0f9
commit
8b35a946d9
1 changed files with 10 additions and 0 deletions
|
@ -72,6 +72,16 @@ impl K2vClient {
|
||||||
.enable_http2()
|
.enable_http2()
|
||||||
.build();
|
.build();
|
||||||
let client = HttpClient::builder(TokioExecutor::new()).build(connector);
|
let client = HttpClient::builder(TokioExecutor::new()).build(connector);
|
||||||
|
Self::new_with_client(config, client)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create a new K2V client with an external client.
|
||||||
|
/// Useful for example if you plan on creating many clients but you want to mutualize the
|
||||||
|
/// underlying thread pools & co.
|
||||||
|
pub fn new_with_client(
|
||||||
|
config: K2vClientConfig,
|
||||||
|
client: HttpClient<HttpsConnector<HttpConnector>, Body>,
|
||||||
|
) -> Result<Self, Error> {
|
||||||
let user_agent: std::borrow::Cow<str> = match &config.user_agent {
|
let user_agent: std::borrow::Cow<str> = match &config.user_agent {
|
||||||
Some(ua) => ua.into(),
|
Some(ua) => ua.into(),
|
||||||
None => format!("k2v/{}", env!("CARGO_PKG_VERSION")).into(),
|
None => format!("k2v/{}", env!("CARGO_PKG_VERSION")).into(),
|
||||||
|
|
Loading…
Reference in a new issue