diff options
author | Luca Casonato <hello@lcas.dev> | 2021-07-22 12:28:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-22 12:28:46 +0200 |
commit | 78fc9a4c600d28bf4c899695076f0bce159fb7a6 (patch) | |
tree | 9277a4dbf79c5d7205d25c44cff70b1e4212dbff /extensions/net/lib.rs | |
parent | 7d151efc683e512386e4ad95bc01259b536d28fc (diff) |
fix: support --cert flag for tls connect APIs (#11484)
Diffstat (limited to 'extensions/net/lib.rs')
-rw-r--r-- | extensions/net/lib.rs | 13 |
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(()) }) |