1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-29 16:30:56 -05:00

refactor(extension/fetch): update init args (#11546)

This commit is contained in:
Satya Rohith 2021-07-29 20:59:16 +05:30 committed by GitHub
parent 935083d99a
commit 1fc8935ebc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -37,6 +37,7 @@ use reqwest::redirect::Policy;
use reqwest::Body; use reqwest::Body;
use reqwest::Client; use reqwest::Client;
use reqwest::Method; use reqwest::Method;
use reqwest::RequestBuilder;
use reqwest::Response; use reqwest::Response;
use serde::Deserialize; use serde::Deserialize;
use serde::Serialize; use serde::Serialize;
@ -60,7 +61,7 @@ pub fn init<P: FetchPermissions + 'static>(
user_agent: String, user_agent: String,
ca_data: Option<Vec<u8>>, ca_data: Option<Vec<u8>>,
proxy: Option<Proxy>, proxy: Option<Proxy>,
frozen_headers: Option<HeaderMap>, request_builder_hook: Option<fn(RequestBuilder) -> RequestBuilder>,
) -> Extension { ) -> Extension {
Extension::builder() Extension::builder()
.js(include_js_files!( .js(include_js_files!(
@ -90,7 +91,7 @@ pub fn init<P: FetchPermissions + 'static>(
ca_data: ca_data.clone(), ca_data: ca_data.clone(),
user_agent: user_agent.clone(), user_agent: user_agent.clone(),
proxy: proxy.clone(), proxy: proxy.clone(),
frozen_headers: frozen_headers.clone(), request_builder_hook,
}); });
Ok(()) Ok(())
}) })
@ -101,7 +102,7 @@ pub struct HttpClientDefaults {
pub user_agent: String, pub user_agent: String,
pub ca_data: Option<Vec<u8>>, pub ca_data: Option<Vec<u8>>,
pub proxy: Option<Proxy>, pub proxy: Option<Proxy>,
pub frozen_headers: Option<HeaderMap>, pub request_builder_hook: Option<fn(RequestBuilder) -> RequestBuilder>,
} }
pub trait FetchPermissions { pub trait FetchPermissions {
@ -217,13 +218,9 @@ where
} }
} }
// Set frozen_headers after the user provided headers, so the
// end user can't override them.
let defaults = state.borrow::<HttpClientDefaults>(); let defaults = state.borrow::<HttpClientDefaults>();
if let Some(frozen_headers) = &defaults.frozen_headers { if let Some(request_builder_hook) = defaults.request_builder_hook {
for (key, value) in frozen_headers { request = request_builder_hook(request);
request = request.header(key, value)
}
} }
let cancel_handle = CancelHandle::new_rc(); let cancel_handle = CancelHandle::new_rc();