summaryrefslogtreecommitdiff
path: root/runtime/ops/fetch.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-12-13 19:45:53 +0100
committerGitHub <noreply@github.com>2020-12-13 19:45:53 +0100
commit2e74f164b6dcf0ecbf8dd38fba9fae550d784bd0 (patch)
tree61abe8e09d5331ace5d9de529f0e2737a8e05dbb /runtime/ops/fetch.rs
parent84ef9bd21fb48fb6b5fbc8dafc3de9f361bade3b (diff)
refactor: deno_runtime crate (#8640)
This commit moves Deno JS runtime, ops, permissions and inspector implementation to new "deno_runtime" crate located in "runtime/" directory. Details in "runtime/README.md". Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
Diffstat (limited to 'runtime/ops/fetch.rs')
-rw-r--r--runtime/ops/fetch.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/runtime/ops/fetch.rs b/runtime/ops/fetch.rs
new file mode 100644
index 000000000..0ef99f73d
--- /dev/null
+++ b/runtime/ops/fetch.rs
@@ -0,0 +1,25 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+use crate::http_util;
+use crate::permissions::Permissions;
+use deno_fetch::reqwest;
+
+pub fn init(
+ rt: &mut deno_core::JsRuntime,
+ user_agent: String,
+ maybe_ca_file: Option<&str>,
+) {
+ {
+ let op_state = rt.op_state();
+ let mut state = op_state.borrow_mut();
+ state.put::<reqwest::Client>({
+ http_util::create_http_client(user_agent, maybe_ca_file).unwrap()
+ });
+ }
+ super::reg_json_async(rt, "op_fetch", deno_fetch::op_fetch::<Permissions>);
+ super::reg_json_async(rt, "op_fetch_read", deno_fetch::op_fetch_read);
+ super::reg_json_sync(
+ rt,
+ "op_create_http_client",
+ deno_fetch::op_create_http_client::<Permissions>,
+ );
+}