diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-12-12 00:36:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-12 00:36:18 +0100 |
commit | 31935c6b8d8f763a5cf809b940427024da01a71c (patch) | |
tree | 7e35a4b806570c40dd0eae8378db77be12335ace /cli/ops/websocket.rs | |
parent | 39c86df4e587bf45e446bd944bff4a91b8a63be3 (diff) |
refactor(cli): more options on Worker (#8724)
Diffstat (limited to 'cli/ops/websocket.rs')
-rw-r--r-- | cli/ops/websocket.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/cli/ops/websocket.rs b/cli/ops/websocket.rs index de6357c87..a8c591a33 100644 --- a/cli/ops/websocket.rs +++ b/cli/ops/websocket.rs @@ -35,14 +35,21 @@ use webpki::DNSNameRef; #[derive(Clone)] struct WsCaFile(String); +#[derive(Clone)] +struct WsUserAgent(String); -pub fn init(rt: &mut deno_core::JsRuntime, maybe_ca_file: Option<&str>) { +pub fn init( + rt: &mut deno_core::JsRuntime, + maybe_ca_file: Option<&str>, + user_agent: String, +) { { let op_state = rt.op_state(); let mut state = op_state.borrow_mut(); if let Some(ca_file) = maybe_ca_file { state.put::<WsCaFile>(WsCaFile(ca_file.to_string())); } + state.put::<WsUserAgent>(WsUserAgent(user_agent)); } super::reg_json_sync(rt, "op_ws_check_permission", op_ws_check_permission); super::reg_json_async(rt, "op_ws_create", op_ws_create); @@ -103,11 +110,11 @@ pub async fn op_ws_create( } let maybe_ca_file = state.borrow().try_borrow::<WsCaFile>().cloned(); + let user_agent = state.borrow().borrow::<WsUserAgent>().0.clone(); let uri: Uri = args.url.parse()?; let mut request = Request::builder().method(Method::GET).uri(&uri); - request = - request.header("User-Agent", format!("Deno/{}", crate::version::deno())); + request = request.header("User-Agent", user_agent); if !args.protocols.is_empty() { request = request.header("Sec-WebSocket-Protocol", args.protocols); |