2020-01-02 15:13:47 -05:00
|
|
|
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
2020-12-11 18:36:18 -05:00
|
|
|
use crate::http_util;
|
2020-09-19 19:17:35 -04:00
|
|
|
use crate::permissions::Permissions;
|
2020-09-28 06:14:11 -04:00
|
|
|
use deno_fetch::reqwest;
|
2019-08-26 08:50:21 -04:00
|
|
|
|
2020-12-13 13:45:53 -05:00
|
|
|
pub fn init(
|
|
|
|
rt: &mut deno_core::JsRuntime,
|
|
|
|
user_agent: String,
|
|
|
|
maybe_ca_file: Option<&str>,
|
|
|
|
) {
|
2020-09-28 06:14:11 -04:00
|
|
|
{
|
|
|
|
let op_state = rt.op_state();
|
|
|
|
let mut state = op_state.borrow_mut();
|
|
|
|
state.put::<reqwest::Client>({
|
2020-12-13 13:45:53 -05:00
|
|
|
http_util::create_http_client(user_agent, maybe_ca_file).unwrap()
|
2020-09-28 06:14:11 -04:00
|
|
|
});
|
|
|
|
}
|
2020-09-19 19:17:35 -04:00
|
|
|
super::reg_json_async(rt, "op_fetch", deno_fetch::op_fetch::<Permissions>);
|
2020-09-18 09:20:55 -04:00
|
|
|
super::reg_json_async(rt, "op_fetch_read", deno_fetch::op_fetch_read);
|
|
|
|
super::reg_json_sync(
|
|
|
|
rt,
|
|
|
|
"op_create_http_client",
|
2020-09-19 19:17:35 -04:00
|
|
|
deno_fetch::op_create_http_client::<Permissions>,
|
2020-09-18 09:20:55 -04:00
|
|
|
);
|
2020-08-05 14:44:03 -04:00
|
|
|
}
|