From 31935c6b8d8f763a5cf809b940427024da01a71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Sat, 12 Dec 2020 00:36:18 +0100 Subject: refactor(cli): more options on Worker (#8724) --- cli/ops/fetch.rs | 4 +++- cli/ops/websocket.rs | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'cli/ops') diff --git a/cli/ops/fetch.rs b/cli/ops/fetch.rs index 8c1a2b39c..18e9e9c9f 100644 --- a/cli/ops/fetch.rs +++ b/cli/ops/fetch.rs @@ -1,4 +1,5 @@ // Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. +use crate::http_util; use crate::permissions::Permissions; use deno_fetch::reqwest; @@ -7,7 +8,8 @@ pub fn init(rt: &mut deno_core::JsRuntime, maybe_ca_file: Option<&str>) { let op_state = rt.op_state(); let mut state = op_state.borrow_mut(); state.put::({ - crate::http_util::create_http_client(maybe_ca_file).unwrap() + http_util::create_http_client(http_util::get_user_agent(), maybe_ca_file) + .unwrap() }); } super::reg_json_async(rt, "op_fetch", deno_fetch::op_fetch::); 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(ca_file.to_string())); } + state.put::(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::().cloned(); + let user_agent = state.borrow().borrow::().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); -- cgit v1.2.3