summaryrefslogtreecommitdiff
path: root/extensions/net/lib.rs
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-07-22 12:28:46 +0200
committerGitHub <noreply@github.com>2021-07-22 12:28:46 +0200
commit78fc9a4c600d28bf4c899695076f0bce159fb7a6 (patch)
tree9277a4dbf79c5d7205d25c44cff70b1e4212dbff /extensions/net/lib.rs
parent7d151efc683e512386e4ad95bc01259b536d28fc (diff)
fix: support --cert flag for tls connect APIs (#11484)
Diffstat (limited to 'extensions/net/lib.rs')
-rw-r--r--extensions/net/lib.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/extensions/net/lib.rs b/extensions/net/lib.rs
index f3281a2fb..11d0b4493 100644
--- a/extensions/net/lib.rs
+++ b/extensions/net/lib.rs
@@ -88,12 +88,22 @@ pub fn get_unstable_declaration() -> PathBuf {
PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("lib.deno_net.unstable.d.ts")
}
-pub fn init<P: NetPermissions + 'static>(unstable: bool) -> Extension {
+#[derive(Clone)]
+pub struct DefaultTlsOptions {
+ pub ca_data: Option<Vec<u8>>,
+}
+
+pub fn init<P: NetPermissions + 'static>(
+ ca_data: Option<Vec<u8>>,
+ unstable: bool,
+) -> Extension {
let mut ops_to_register = vec![];
ops_to_register.extend(io::init());
ops_to_register.extend(ops::init::<P>());
ops_to_register.extend(ops_tls::init::<P>());
+ let default_tls_options = DefaultTlsOptions { ca_data };
+
Extension::builder()
.js(include_js_files!(
prefix "deno:extensions/net",
@@ -103,6 +113,7 @@ pub fn init<P: NetPermissions + 'static>(unstable: bool) -> Extension {
))
.ops(ops_to_register)
.state(move |state| {
+ state.put(default_tls_options.clone());
state.put(UnstableChecker { unstable });
Ok(())
})