@appium/base-driver 9.16.2 → 9.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,8 @@
1
- export default JWProxy;
2
- export type ProxyError = Error & {
3
- response: {
4
- data: import("type-fest").JsonObject;
5
- status: import("http-status-codes").StatusCodes;
6
- };
7
- };
8
1
  export class JWProxy {
9
- constructor(opts?: {});
2
+ /**
3
+ * @param {import('@appium/types').ProxyOptions} [opts={}]
4
+ */
5
+ constructor(opts?: import("@appium/types").ProxyOptions);
10
6
  /** @type {string} */
11
7
  scheme: string;
12
8
  /** @type {string} */
@@ -21,13 +17,15 @@ export class JWProxy {
21
17
  sessionId: string | null;
22
18
  /** @type {number} */
23
19
  timeout: number;
24
- _activeRequests: any[];
25
- _downstreamProtocol: any;
20
+ /** @type {Protocol | null | undefined} */
21
+ _downstreamProtocol: Protocol | null | undefined;
22
+ /** @type {ProxyRequest[]} */
23
+ _activeRequests: ProxyRequest[];
26
24
  httpAgent: http.Agent;
27
25
  httpsAgent: https.Agent;
28
26
  protocolConverter: ProtocolConverter;
29
- _log: any;
30
- get log(): any;
27
+ _log: import("@appium/types").AppiumLogger | undefined;
28
+ get log(): import("@appium/types").AppiumLogger;
31
29
  /**
32
30
  * Performs requests to the downstream server
33
31
  *
@@ -38,10 +36,16 @@ export class JWProxy {
38
36
  * @returns {Promise<import('axios').AxiosResponse>}
39
37
  */
40
38
  private request;
39
+ /**
40
+ * @returns {number}
41
+ */
41
42
  getActiveRequestsCount(): number;
42
43
  cancelActiveRequests(): void;
43
- set downstreamProtocol(value: any);
44
- get downstreamProtocol(): any;
44
+ /**
45
+ * @param {Protocol | null | undefined} value
46
+ */
47
+ set downstreamProtocol(value: Protocol | null | undefined);
48
+ get downstreamProtocol(): Protocol | null | undefined;
45
49
  /**
46
50
  *
47
51
  * @param {string} url
@@ -53,12 +57,18 @@ export class JWProxy {
53
57
  *
54
58
  * @param {string} url
55
59
  * @param {string} method
56
- * @param {any} body
57
- * @returns {Promise<any>}
60
+ * @param {import('@appium/types').HTTPBody} [body=null]
61
+ * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
58
62
  */
59
- proxy(url: string, method: string, body?: any): Promise<any>;
60
- getProtocolFromResBody(resObj: any): "MJSONWP" | "W3C" | undefined;
63
+ proxy(url: string, method: string, body?: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
61
64
  /**
65
+ *
66
+ * @param {Record<string, any>} resObj
67
+ * @returns {Protocol | undefined}
68
+ */
69
+ getProtocolFromResBody(resObj: Record<string, any>): Protocol | undefined;
70
+ /**
71
+ * @deprecated This method is not used anymore and will be removed
62
72
  *
63
73
  * @param {string} url
64
74
  * @param {import('@appium/types').HTTPMethod} method
@@ -69,21 +79,56 @@ export class JWProxy {
69
79
  *
70
80
  * @param {string} url
71
81
  * @param {import('@appium/types').HTTPMethod} method
72
- * @param {any?} body
82
+ * @param {import('@appium/types').HTTPBody} [body=null]
83
+ * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
73
84
  */
74
- proxyCommand(url: string, method: import("@appium/types").HTTPMethod, body?: any | null): Promise<any>;
85
+ proxyCommand(url: string, method: import("@appium/types").HTTPMethod, body?: import("@appium/types").HTTPBody): Promise<[import("@appium/types").ProxyResponse, import("@appium/types").HTTPBody]>;
75
86
  /**
76
87
  *
77
88
  * @param {string} url
78
89
  * @param {import('@appium/types').HTTPMethod} method
79
- * @param {any?} body
80
- * @returns {Promise<unknown>}
90
+ * @param {import('@appium/types').HTTPBody} [body=null]
91
+ * @returns {Promise<import('@appium/types').HTTPBody>}
92
+ */
93
+ command(url: string, method: import("@appium/types").HTTPMethod, body?: import("@appium/types").HTTPBody): Promise<import("@appium/types").HTTPBody>;
94
+ /**
95
+ *
96
+ * @param {string} url
97
+ * @returns {string | null}
98
+ */
99
+ getSessionIdFromUrl(url: string): string | null;
100
+ /**
101
+ *
102
+ * @param {import('express').Request} req
103
+ * @param {import('express').Response} res
104
+ */
105
+ proxyReqRes(req: import("express").Request, res: import("express").Response): Promise<void>;
106
+ /**
107
+ *
108
+ * @param {string} url
109
+ * @returns {ParsedUrl}
81
110
  */
82
- command(url: string, method: import("@appium/types").HTTPMethod, body?: any | null): Promise<unknown>;
83
- getSessionIdFromUrl(url: any): any;
84
- proxyReqRes(req: any, res: any): Promise<void>;
111
+ _parseUrl(url: string): ParsedUrl;
112
+ /**
113
+ *
114
+ * @param {ParsedUrl} parsedUrl
115
+ * @returns {string}
116
+ */
117
+ _toNormalizedPathname(parsedUrl: ParsedUrl): string;
85
118
  }
119
+ export default JWProxy;
120
+ export type ProxyError = Error & {
121
+ response: {
122
+ data: import("type-fest").JsonObject;
123
+ status: import("http-status-codes").StatusCodes;
124
+ };
125
+ };
126
+ export type ParsedUrl = nodeUrl.UrlWithStringQuery;
127
+ export type Protocol = (typeof PROTOCOLS)[keyof typeof PROTOCOLS];
128
+ import { ProxyRequest } from './proxy-request';
86
129
  import http from 'http';
87
130
  import https from 'https';
88
131
  import ProtocolConverter from './protocol-converter';
132
+ import nodeUrl from 'node:url';
133
+ import { PROTOCOLS } from '../constants';
89
134
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":";yBA8ba,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;KAAC,CAAA;CAAC;AAvZxH;IAgBE,uBA4BC;IA3CD,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,aADW,MAAM,CACL;IACZ,sBAAsB;IACtB,WADW,MAAM,OAAC,CACR;IACV,qBAAqB;IACrB,SADW,MAAM,CACT;IAmBN,uBAAyB;IACzB,yBAA+B;IAM/B,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,UAAoB;IAGtB,eAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED,iCAEC;IAED,6BAEC;IAED,mCAGC;IAED,8BAEC;IAED;;;;;OAKG;IACH,oBAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAgDlB;IAED;;;;;;OAMG;IACH,WALW,MAAM,UACN,MAAM,SACN,GAAG,GACD,OAAO,CAAC,GAAG,CAAC,CA+FxB;IAED,mEAOC;IAED;;;;;OAKG;IACH,0BAJW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,GAChC,MAAM,GAAC,SAAS,CAwB5B;IAED;;;;;OAKG;IACH,kBAJW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,GAAG,OAAC,gBAUd;IAED;;;;;;OAMG;IACH,aALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,GAAG,OAAC,GACF,OAAO,CAAC,OAAO,CAAC,CAoD5B;IAED,mCAGC;IAED,+CAuCC;CACF;iBAzagB,MAAM;kBACL,OAAO;8BAHK,sBAAsB"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"AAsCA;IAoBE;;OAEG;IACH,mBAFW,OAAO,eAAe,EAAE,YAAY,EAgC9C;IApDD,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,aADW,MAAM,CACL;IACZ,sBAAsB;IACtB,WADW,MAAM,OAAC,CACR;IACV,qBAAqB;IACrB,SADW,MAAM,CACT;IACR,0CAA0C;IAC1C,qBADW,QAAQ,GAAG,IAAI,GAAG,SAAS,CAClB;IACpB,6BAA6B;IAC7B,iBADW,YAAY,EAAE,CACT;IA6Bd,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,uDAAoB;IAKtB,gDAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED;;OAEG;IACH,0BAFa,MAAM,CAIlB;IAED,6BAKC;IAED;;OAEG;IACH,8BAFW,QAAQ,GAAG,IAAI,GAAG,SAAS,EAKrC;IAED,0BAPW,QAAQ,GAAG,IAAI,GAAG,SAAS,CASrC;IAED;;;;;OAKG;IACH,oBAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAwBlB;IAED;;;;;;OAMG;IACH,WALW,MAAM,UACN,MAAM,SACN,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAmG9F;IAED;;;;OAIG;IACH,+BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,QAAQ,GAAG,SAAS,CAShC;IAED;;;;;;OAMG;IACH,0BAJW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,GAChC,MAAM,GAAC,SAAS,CAwB5B;IAED;;;;;;OAMG;IACH,kBALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,CAAC,OAAO,eAAe,EAAE,aAAa,EAAE,OAAO,eAAe,EAAE,QAAQ,CAAC,CAAC,CAY9F;IAED;;;;;;OAMG;IACH,aALW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,SAClC,OAAO,eAAe,EAAE,QAAQ,GAC9B,OAAO,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,CAoDrD;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,MAAM,GAAG,IAAI,CAKzB;IAED;;;;OAIG;IACH,iBAHW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,iBA8CpC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,SAAS,CAWrB;IAED;;;;OAIG;IACH,iCAHW,SAAS,GACP,MAAM,CAwBlB;CACF;;yBAKY,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;KAAC,CAAA;CAAC;wBAC3G,OAAO,CAAC,kBAAkB;uBAC1B,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC;6BA/exB,iBAAiB;iBAJ7B,MAAM;kBACL,OAAO;8BAHK,sBAAsB;oBAKhC,UAAU;0BANkC,cAAc"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.JWProxy = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const support_1 = require("@appium/support");
9
- const axios_1 = __importDefault(require("axios"));
10
9
  const status_1 = require("../jsonwp-status/status");
11
10
  const errors_1 = require("../protocol/errors");
12
11
  const protocol_1 = require("../protocol");
@@ -17,6 +16,7 @@ const http_1 = __importDefault(require("http"));
17
16
  const https_1 = __importDefault(require("https"));
18
17
  const path_to_regexp_1 = require("path-to-regexp");
19
18
  const node_url_1 = __importDefault(require("node:url"));
19
+ const proxy_request_1 = require("./proxy-request");
20
20
  const DEFAULT_LOG = support_1.logger.getLogger('WD Proxy');
21
21
  const DEFAULT_REQUEST_TIMEOUT = 240000;
22
22
  const COMMAND_WITH_SESSION_ID_MATCHER = (0, path_to_regexp_1.match)('{/*prefix}/session/:sessionId{/*command}');
@@ -33,11 +33,15 @@ const ALLOWED_OPTS = [
33
33
  'keepAlive',
34
34
  ];
35
35
  class JWProxy {
36
+ /**
37
+ * @param {import('@appium/types').ProxyOptions} [opts={}]
38
+ */
36
39
  constructor(opts = {}) {
37
- opts = lodash_1.default.pick(opts, ALLOWED_OPTS);
40
+ const filteredOpts = lodash_1.default.pick(opts, ALLOWED_OPTS);
38
41
  // omit 'log' in the defaults assignment here because 'log' is a getter and we are going to set
39
42
  // it to this._log (which lies behind the getter) further down
40
- const options = lodash_1.default.defaults(lodash_1.default.omit(opts, 'log'), {
43
+ /** @type {import('@appium/types').ProxyOptions} */
44
+ const options = lodash_1.default.defaults(lodash_1.default.omit(filteredOpts, 'log'), {
41
45
  scheme: 'http',
42
46
  server: 'localhost',
43
47
  port: 4444,
@@ -46,7 +50,7 @@ class JWProxy {
46
50
  sessionId: null,
47
51
  timeout: DEFAULT_REQUEST_TIMEOUT,
48
52
  });
49
- options.scheme = options.scheme.toLowerCase();
53
+ options.scheme = /** @type {string} */ (options.scheme).toLowerCase();
50
54
  Object.assign(this, options);
51
55
  this._activeRequests = [];
52
56
  this._downstreamProtocol = null;
@@ -59,6 +63,7 @@ class JWProxy {
59
63
  this.httpsAgent = new https_1.default.Agent(agentOpts);
60
64
  this.protocolConverter = new protocol_converter_1.default(this.proxy.bind(this), opts.log);
61
65
  this._log = opts.log;
66
+ this.log.debug(`${this.constructor.name} options: ${JSON.stringify(options)}`);
62
67
  }
63
68
  get log() {
64
69
  return this._log ?? DEFAULT_LOG;
@@ -73,21 +78,30 @@ class JWProxy {
73
78
  * @returns {Promise<import('axios').AxiosResponse>}
74
79
  */
75
80
  async request(requestConfig) {
76
- const reqPromise = (0, axios_1.default)(requestConfig);
77
- this._activeRequests.push(reqPromise);
81
+ const req = new proxy_request_1.ProxyRequest(requestConfig);
82
+ this._activeRequests.push(req);
78
83
  try {
79
- return await reqPromise;
84
+ return await req.execute();
80
85
  }
81
86
  finally {
82
- lodash_1.default.pull(this._activeRequests, reqPromise);
87
+ lodash_1.default.pull(this._activeRequests, req);
83
88
  }
84
89
  }
90
+ /**
91
+ * @returns {number}
92
+ */
85
93
  getActiveRequestsCount() {
86
94
  return this._activeRequests.length;
87
95
  }
88
96
  cancelActiveRequests() {
97
+ for (const ar of this._activeRequests) {
98
+ ar.cancel();
99
+ }
89
100
  this._activeRequests = [];
90
101
  }
102
+ /**
103
+ * @param {Protocol | null | undefined} value
104
+ */
91
105
  set downstreamProtocol(value) {
92
106
  this._downstreamProtocol = value;
93
107
  this.protocolConverter.downstreamProtocol = value;
@@ -102,28 +116,8 @@ class JWProxy {
102
116
  * @returns {string}
103
117
  */
104
118
  getUrlForProxy(url, method) {
105
- const parsedUrl = node_url_1.default.parse(url || '/');
106
- if (!parsedUrl.href || !parsedUrl.pathname
107
- || (parsedUrl.protocol && !['http:', 'https:'].includes(parsedUrl.protocol))) {
108
- throw new Error(`Did not know how to proxy the url '${url}'`);
109
- }
110
- let pathname = this.reqBasePath && parsedUrl.pathname.startsWith(this.reqBasePath)
111
- ? parsedUrl.pathname.replace(this.reqBasePath, '')
112
- : parsedUrl.pathname;
113
- const match = COMMAND_WITH_SESSION_ID_MATCHER(pathname);
114
- // This is needed for the backward compatibility
115
- // if drivers don't set reqBasePath properly
116
- if (!this.reqBasePath) {
117
- if (match && lodash_1.default.isArray(match.params?.prefix)) {
118
- pathname = pathname.replace(`/${match.params?.prefix.join('/')}`, '');
119
- }
120
- else if (lodash_1.default.startsWith(pathname, '/wd/hub')) {
121
- pathname = pathname.replace('/wd/hub', '');
122
- }
123
- }
124
- const normalizedPathname = lodash_1.default.trimEnd(match && lodash_1.default.isArray(match.params?.command)
125
- ? `/${match.params.command.join('/')}`
126
- : pathname, '/');
119
+ const parsedUrl = this._parseUrl(url);
120
+ const normalizedPathname = this._toNormalizedPathname(parsedUrl);
127
121
  const commandName = normalizedPathname
128
122
  ? (0, protocol_1.routeToCommandName)(normalizedPathname,
129
123
  /** @type {import('@appium/types').HTTPMethod | undefined} */ (method))
@@ -146,8 +140,8 @@ class JWProxy {
146
140
  *
147
141
  * @param {string} url
148
142
  * @param {string} method
149
- * @param {any} body
150
- * @returns {Promise<any>}
143
+ * @param {import('@appium/types').HTTPBody} [body=null]
144
+ * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
151
145
  */
152
146
  async proxy(url, method, body = null) {
153
147
  method = method.toUpperCase();
@@ -217,8 +211,12 @@ class JWProxy {
217
211
  // Some servers, like chromedriver may return response code 200 for non-zero JSONWP statuses
218
212
  throwProxyError(data);
219
213
  }
220
- const res = { statusCode: status, headers, body: data };
221
- return [res, data];
214
+ const headersMap = /** @type {import('@appium/types').HTTPHeaders} */ (headers);
215
+ return [{
216
+ statusCode: status,
217
+ headers: headersMap,
218
+ body: data,
219
+ }, data];
222
220
  }
223
221
  catch (e) {
224
222
  // We only consider an error unexpected if this was not
@@ -240,6 +238,11 @@ class JWProxy {
240
238
  throw new errors_1.errors.ProxyRequestError(proxyErrorMsg, e.response?.data, e.response?.status);
241
239
  }
242
240
  }
241
+ /**
242
+ *
243
+ * @param {Record<string, any>} resObj
244
+ * @returns {Protocol | undefined}
245
+ */
243
246
  getProtocolFromResBody(resObj) {
244
247
  if (lodash_1.default.isInteger(resObj.status)) {
245
248
  return MJSONWP;
@@ -249,6 +252,7 @@ class JWProxy {
249
252
  }
250
253
  }
251
254
  /**
255
+ * @deprecated This method is not used anymore and will be removed
252
256
  *
253
257
  * @param {string} url
254
258
  * @param {import('@appium/types').HTTPMethod} method
@@ -279,10 +283,13 @@ class JWProxy {
279
283
  *
280
284
  * @param {string} url
281
285
  * @param {import('@appium/types').HTTPMethod} method
282
- * @param {any?} body
286
+ * @param {import('@appium/types').HTTPBody} [body=null]
287
+ * @returns {Promise<[import('@appium/types').ProxyResponse, import('@appium/types').HTTPBody]>}
283
288
  */
284
289
  async proxyCommand(url, method, body = null) {
285
- const commandName = this.requestToCommandName(url, method);
290
+ const parsedUrl = this._parseUrl(url);
291
+ const normalizedPathname = this._toNormalizedPathname(parsedUrl);
292
+ const commandName = normalizedPathname ? (0, protocol_1.routeToCommandName)(normalizedPathname, method) : '';
286
293
  if (!commandName) {
287
294
  return await this.proxy(url, method, body);
288
295
  }
@@ -293,8 +300,8 @@ class JWProxy {
293
300
  *
294
301
  * @param {string} url
295
302
  * @param {import('@appium/types').HTTPMethod} method
296
- * @param {any?} body
297
- * @returns {Promise<unknown>}
303
+ * @param {import('@appium/types').HTTPBody} [body=null]
304
+ * @returns {Promise<import('@appium/types').HTTPBody>}
298
305
  */
299
306
  async command(url, method, body = null) {
300
307
  let response;
@@ -341,25 +348,37 @@ class JWProxy {
341
348
  length: 300,
342
349
  })}'`);
343
350
  }
351
+ /**
352
+ *
353
+ * @param {string} url
354
+ * @returns {string | null}
355
+ */
344
356
  getSessionIdFromUrl(url) {
345
357
  const match = url.match(/\/session\/([^/]+)/);
346
358
  return match ? match[1] : null;
347
359
  }
360
+ /**
361
+ *
362
+ * @param {import('express').Request} req
363
+ * @param {import('express').Response} res
364
+ */
348
365
  async proxyReqRes(req, res) {
349
366
  // ! this method must not throw any exceptions
350
367
  // ! make sure to call res.send before return
368
+ /** @type {number} */
351
369
  let statusCode;
370
+ /** @type {import('@appium/types').HTTPBody} */
352
371
  let resBodyObj;
353
372
  try {
354
373
  let response;
355
- [response, resBodyObj] = await this.proxyCommand(req.originalUrl, req.method, req.body);
356
- res.headers = response.headers;
374
+ [response, resBodyObj] = await this.proxyCommand(req.originalUrl,
375
+ /** @type {import('@appium/types').HTTPMethod} */ (req.method), req.body);
357
376
  statusCode = response.statusCode;
358
377
  }
359
378
  catch (err) {
360
379
  [statusCode, resBodyObj] = (0, errors_1.getResponseForW3CError)((0, errors_1.isErrorType)(err, errors_1.errors.ProxyRequestError) ? err.getActualError() : err);
361
380
  }
362
- res.set('content-type', 'application/json; charset=utf-8');
381
+ res.setHeader('content-type', 'application/json; charset=utf-8');
363
382
  if (!lodash_1.default.isPlainObject(resBodyObj)) {
364
383
  const error = new errors_1.errors.UnknownError(`The downstream server response with the status code ${statusCode} is not a valid JSON object: ` +
365
384
  lodash_1.default.truncate(`${resBodyObj}`, { length: 300 }));
@@ -382,10 +401,54 @@ class JWProxy {
382
401
  resBodyObj.value = (0, helpers_1.formatResponseValue)(resBodyObj.value);
383
402
  res.status(statusCode).send(JSON.stringify((0, helpers_1.formatStatus)(resBodyObj)));
384
403
  }
404
+ /**
405
+ *
406
+ * @param {string} url
407
+ * @returns {ParsedUrl}
408
+ */
409
+ _parseUrl(url) {
410
+ const parsedUrl = node_url_1.default.parse(url || '/');
411
+ if (lodash_1.default.isNil(parsedUrl.href) || lodash_1.default.isNil(parsedUrl.pathname)
412
+ || (parsedUrl.protocol && !['http:', 'https:'].includes(parsedUrl.protocol))) {
413
+ throw new Error(`Did not know how to proxy the url '${url}'`);
414
+ }
415
+ return parsedUrl;
416
+ }
417
+ /**
418
+ *
419
+ * @param {ParsedUrl} parsedUrl
420
+ * @returns {string}
421
+ */
422
+ _toNormalizedPathname(parsedUrl) {
423
+ if (!lodash_1.default.isString(parsedUrl.pathname)) {
424
+ return '';
425
+ }
426
+ let pathname = this.reqBasePath && parsedUrl.pathname.startsWith(this.reqBasePath)
427
+ ? parsedUrl.pathname.replace(this.reqBasePath, '')
428
+ : parsedUrl.pathname;
429
+ const match = COMMAND_WITH_SESSION_ID_MATCHER(pathname);
430
+ // This is needed for the backward compatibility
431
+ // if drivers don't set reqBasePath properly
432
+ if (!this.reqBasePath) {
433
+ if (match && lodash_1.default.isArray(match.params?.prefix)) {
434
+ pathname = pathname.replace(`/${match.params?.prefix.join('/')}`, '');
435
+ }
436
+ else if (lodash_1.default.startsWith(pathname, '/wd/hub')) {
437
+ pathname = pathname.replace('/wd/hub', '');
438
+ }
439
+ }
440
+ let result = pathname;
441
+ if (match) {
442
+ result = lodash_1.default.isArray(match.params?.command) ? `/${match.params.command.join('/')}` : '';
443
+ }
444
+ return lodash_1.default.trimEnd(result, '/');
445
+ }
385
446
  }
386
447
  exports.JWProxy = JWProxy;
387
448
  exports.default = JWProxy;
388
449
  /**
389
450
  * @typedef {Error & {response: {data: import('type-fest').JsonObject, status: import('http-status-codes').StatusCodes}}} ProxyError
451
+ * @typedef {nodeUrl.UrlWithStringQuery} ParsedUrl
452
+ * @typedef {typeof PROTOCOLS[keyof typeof PROTOCOLS]} Protocol
390
453
  */
391
454
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":"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"}
@@ -373,29 +373,33 @@ export function duplicateKeys(input, firstKey, secondKey) {
373
373
  }
374
374
 
375
375
  /**
376
- * Takes a desired capability and tries to JSON.parse it as an array,
376
+ * Takes a capability value and tries to JSON.parse it as an array,
377
377
  * and either returns the parsed array or a singleton array.
378
378
  *
379
- * @param {string|Array<String>} cap A desired capability
379
+ * @param {string|string[]} capValue Capability value
380
+ * @returns {string[]}
380
381
  */
381
- export function parseCapsArray(cap) {
382
- if (_.isArray(cap)) {
383
- return cap;
382
+ export function parseCapsArray(capValue) {
383
+ if (_.isArray(capValue)) {
384
+ return capValue;
384
385
  }
385
386
 
386
- let parsedCaps;
387
387
  try {
388
- parsedCaps = JSON.parse(cap);
389
- if (_.isArray(parsedCaps)) {
390
- return parsedCaps;
388
+ const parsed = JSON.parse(capValue);
389
+ if (_.isArray(parsed)) {
390
+ return parsed;
391
391
  }
392
392
  } catch (e) {
393
- logger.warn(`Failed to parse capability as JSON array: ${e.message}`);
393
+ const message = `Failed to parse capability as JSON array: ${e.message}`;
394
+ if (_.isString(capValue) && _.startsWith(_.trimStart(capValue), '[')) {
395
+ throw new TypeError(message);
396
+ }
397
+ logger.warn(message);
394
398
  }
395
- if (_.isString(cap)) {
396
- return [cap];
399
+ if (_.isString(capValue)) {
400
+ return [capValue];
397
401
  }
398
- throw new Error(`must provide a string or JSON Array; received ${cap}`);
402
+ throw new TypeError(`Expected a string or a valid JSON array; received '${capValue}'`);
399
403
  }
400
404
 
401
405
  /**