summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-09-15 16:15:01 -0400
committerGitHub <noreply@github.com>2020-09-15 16:15:01 -0400
commit0715803b7fdf6399f447f9fd2fdd2aa8b41beac7 (patch)
tree657d020cfec478f25a3bba6debf3c8965abc27f7
parentb2fa903d64c74d64685397bbf4e98b031371d346 (diff)
Remove http_client from CliState, store in OpState directly (#7497)
-rw-r--r--cli/ops/fetch.rs12
-rw-r--r--cli/state.rs4
-rw-r--r--cli/worker.rs7
3 files changed, 11 insertions, 12 deletions
diff --git a/cli/ops/fetch.rs b/cli/ops/fetch.rs
index 7aece48da..4e4d35d50 100644
--- a/cli/ops/fetch.rs
+++ b/cli/ops/fetch.rs
@@ -51,9 +51,9 @@ async fn op_fetch(
.ok_or_else(bad_resource_id)?;
r.client.clone()
} else {
- let cli_state = super::cli_state2(&state);
- let client_ref = cli_state.http_client.borrow();
- client_ref.clone()
+ let state_ = state.borrow();
+ let client = state_.borrow::<reqwest::Client>();
+ client.clone()
};
let method = match args.method {
@@ -103,14 +103,12 @@ async fn op_fetch(
))),
);
- let json_res = json!({
+ Ok(json!({
"bodyRid": rid,
"status": status.as_u16(),
"statusText": status.canonical_reason().unwrap_or(""),
"headers": res_headers
- });
-
- Ok(json_res)
+ }))
}
struct HttpClientResource {
diff --git a/cli/state.rs b/cli/state.rs
index 33b560d8b..9b4c9ec2d 100644
--- a/cli/state.rs
+++ b/cli/state.rs
@@ -3,7 +3,6 @@
use crate::file_fetcher::SourceFileFetcher;
use crate::global_state::GlobalState;
use crate::global_timer::GlobalTimer;
-use crate::http_util::create_http_client;
use crate::import_map::ImportMap;
use crate::metrics::Metrics;
use crate::permissions::Permissions;
@@ -48,7 +47,6 @@ pub struct CliState {
pub target_lib: TargetLib,
pub is_main: bool,
pub is_internal: bool,
- pub http_client: RefCell<reqwest::Client>,
}
pub fn exit_unstable(api_name: &str) {
@@ -180,7 +178,6 @@ impl CliState {
target_lib: TargetLib::Main,
is_main: true,
is_internal,
- http_client: create_http_client(fl.ca_file.as_deref())?.into(),
};
Ok(Rc::new(state))
}
@@ -208,7 +205,6 @@ impl CliState {
target_lib: TargetLib::Worker,
is_main: false,
is_internal: false,
- http_client: create_http_client(fl.ca_file.as_deref())?.into(),
};
Ok(Rc::new(state))
}
diff --git a/cli/worker.rs b/cli/worker.rs
index 4141d5008..b60b5a0c0 100644
--- a/cli/worker.rs
+++ b/cli/worker.rs
@@ -107,12 +107,13 @@ impl Worker {
state: &Rc<CliState>,
) -> Self {
let global_state = state.global_state.clone();
+ let global_state_ = global_state.clone();
let mut isolate = JsRuntime::new(RuntimeOptions {
module_loader: Some(state.clone()),
startup_snapshot,
js_error_create_fn: Some(Box::new(move |core_js_error| {
- JsError::create(core_js_error, &global_state.ts_compiler)
+ JsError::create(core_js_error, &global_state_.ts_compiler)
})),
..Default::default()
});
@@ -121,6 +122,10 @@ impl Worker {
let mut op_state = op_state.borrow_mut();
op_state.get_error_class_fn = &crate::errors::get_error_class_name;
op_state.put(state.clone());
+
+ let ca_file = global_state.flags.ca_file.as_deref();
+ let client = crate::http_util::create_http_client(ca_file).unwrap();
+ op_state.put(client);
}
let inspector = {
let global_state = &state.global_state;