mirror of
https://github.com/denoland/deno
synced 2024-11-05 18:45:24 +00:00
use shared HTTP client (#3563)
This commit moves HTTP client to lazy_static. Effectively HTTP client is shared by whole Deno process and will reuse connections.
This commit is contained in:
parent
46d76a7562
commit
011d485ce5
1 changed files with 19 additions and 13 deletions
|
@ -14,20 +14,26 @@ use reqwest::Client;
|
|||
use std::future::Future;
|
||||
use url::Url;
|
||||
|
||||
/// Create new instance of async reqwest::Client. This client supports
|
||||
lazy_static! {
|
||||
static ref HTTP_CLIENT: Client = {
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert(
|
||||
USER_AGENT,
|
||||
format!("Deno/{}", version::DENO).parse().unwrap(),
|
||||
);
|
||||
Client::builder()
|
||||
.redirect(Policy::none())
|
||||
.default_headers(headers)
|
||||
.use_rustls_tls()
|
||||
.build()
|
||||
.unwrap()
|
||||
};
|
||||
}
|
||||
|
||||
/// Get instance of async reqwest::Client. This client supports
|
||||
/// proxies and doesn't follow redirects.
|
||||
pub fn get_client() -> Client {
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert(
|
||||
USER_AGENT,
|
||||
format!("Deno/{}", version::DENO).parse().unwrap(),
|
||||
);
|
||||
Client::builder()
|
||||
.redirect(Policy::none())
|
||||
.default_headers(headers)
|
||||
.use_rustls_tls()
|
||||
.build()
|
||||
.unwrap()
|
||||
pub fn get_client() -> &'static Client {
|
||||
&HTTP_CLIENT
|
||||
}
|
||||
|
||||
/// Construct the next uri based on base uri and location header fragment
|
||||
|
|
Loading…
Reference in a new issue