@appium/base-driver 9.16.2 → 9.16.3

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,iBAmDpC;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;6BApfxB,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,19 +348,36 @@ 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);
376
+ for (const [name, value] of lodash_1.default.toPairs(response.headers)) {
377
+ if (!lodash_1.default.isNil(value)) {
378
+ res.setHeader(name, lodash_1.default.isBoolean(value) ? String(value) : value);
379
+ }
380
+ }
357
381
  statusCode = response.statusCode;
358
382
  }
359
383
  catch (err) {
@@ -382,10 +406,54 @@ class JWProxy {
382
406
  resBodyObj.value = (0, helpers_1.formatResponseValue)(resBodyObj.value);
383
407
  res.status(statusCode).send(JSON.stringify((0, helpers_1.formatStatus)(resBodyObj)));
384
408
  }
409
+ /**
410
+ *
411
+ * @param {string} url
412
+ * @returns {ParsedUrl}
413
+ */
414
+ _parseUrl(url) {
415
+ const parsedUrl = node_url_1.default.parse(url || '/');
416
+ if (lodash_1.default.isNil(parsedUrl.href) || lodash_1.default.isNil(parsedUrl.pathname)
417
+ || (parsedUrl.protocol && !['http:', 'https:'].includes(parsedUrl.protocol))) {
418
+ throw new Error(`Did not know how to proxy the url '${url}'`);
419
+ }
420
+ return parsedUrl;
421
+ }
422
+ /**
423
+ *
424
+ * @param {ParsedUrl} parsedUrl
425
+ * @returns {string}
426
+ */
427
+ _toNormalizedPathname(parsedUrl) {
428
+ if (!lodash_1.default.isString(parsedUrl.pathname)) {
429
+ return '';
430
+ }
431
+ let pathname = this.reqBasePath && parsedUrl.pathname.startsWith(this.reqBasePath)
432
+ ? parsedUrl.pathname.replace(this.reqBasePath, '')
433
+ : parsedUrl.pathname;
434
+ const match = COMMAND_WITH_SESSION_ID_MATCHER(pathname);
435
+ // This is needed for the backward compatibility
436
+ // if drivers don't set reqBasePath properly
437
+ if (!this.reqBasePath) {
438
+ if (match && lodash_1.default.isArray(match.params?.prefix)) {
439
+ pathname = pathname.replace(`/${match.params?.prefix.join('/')}`, '');
440
+ }
441
+ else if (lodash_1.default.startsWith(pathname, '/wd/hub')) {
442
+ pathname = pathname.replace('/wd/hub', '');
443
+ }
444
+ }
445
+ let result = pathname;
446
+ if (match) {
447
+ result = lodash_1.default.isArray(match.params?.command) ? `/${match.params.command.join('/')}` : '';
448
+ }
449
+ return lodash_1.default.trimEnd(result, '/');
450
+ }
385
451
  }
386
452
  exports.JWProxy = JWProxy;
387
453
  exports.default = JWProxy;
388
454
  /**
389
455
  * @typedef {Error & {response: {data: import('type-fest').JsonObject, status: import('http-status-codes').StatusCodes}}} ProxyError
456
+ * @typedef {nodeUrl.UrlWithStringQuery} ParsedUrl
457
+ * @typedef {typeof PROTOCOLS[keyof typeof PROTOCOLS]} Protocol
390
458
  */
391
459
  //# 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
  /**