@appium/base-driver 9.14.1 → 9.16.0

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.
Files changed (57) hide show
  1. package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
  2. package/build/lib/basedriver/commands/execute.js +24 -2
  3. package/build/lib/basedriver/commands/execute.js.map +1 -1
  4. package/build/lib/basedriver/core.d.ts +4 -10
  5. package/build/lib/basedriver/core.d.ts.map +1 -1
  6. package/build/lib/basedriver/core.js +4 -68
  7. package/build/lib/basedriver/core.js.map +1 -1
  8. package/build/lib/basedriver/driver.d.ts +7 -1
  9. package/build/lib/basedriver/driver.d.ts.map +1 -1
  10. package/build/lib/basedriver/driver.js +8 -0
  11. package/build/lib/basedriver/driver.js.map +1 -1
  12. package/build/lib/basedriver/extension-core.d.ts +16 -0
  13. package/build/lib/basedriver/extension-core.d.ts.map +1 -0
  14. package/build/lib/basedriver/extension-core.js +103 -0
  15. package/build/lib/basedriver/extension-core.js.map +1 -0
  16. package/build/lib/basedriver/helpers.d.ts +2 -2
  17. package/build/lib/basedriver/helpers.d.ts.map +1 -1
  18. package/build/lib/basedriver/helpers.js +1 -1
  19. package/build/lib/express/server.d.ts +23 -17
  20. package/build/lib/express/server.d.ts.map +1 -1
  21. package/build/lib/express/server.js +15 -3
  22. package/build/lib/express/server.js.map +1 -1
  23. package/build/lib/index.d.ts +3 -0
  24. package/build/lib/index.d.ts.map +1 -1
  25. package/build/lib/index.js +8 -1
  26. package/build/lib/index.js.map +1 -1
  27. package/build/lib/jsonwp-proxy/proxy.d.ts +17 -1
  28. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
  29. package/build/lib/jsonwp-proxy/proxy.js +20 -3
  30. package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
  31. package/build/lib/protocol/bidi-commands.js +3 -2
  32. package/build/lib/protocol/bidi-commands.js.map +1 -1
  33. package/build/lib/protocol/index.d.ts +3 -1
  34. package/build/lib/protocol/index.d.ts.map +1 -1
  35. package/build/lib/protocol/index.js +3 -1
  36. package/build/lib/protocol/index.js.map +1 -1
  37. package/build/lib/protocol/protocol.d.ts +5 -3
  38. package/build/lib/protocol/protocol.d.ts.map +1 -1
  39. package/build/lib/protocol/protocol.js +10 -11
  40. package/build/lib/protocol/protocol.js.map +1 -1
  41. package/build/lib/protocol/routes.d.ts +637 -602
  42. package/build/lib/protocol/routes.d.ts.map +1 -1
  43. package/build/lib/protocol/routes.js +370 -351
  44. package/build/lib/protocol/routes.js.map +1 -1
  45. package/lib/basedriver/commands/execute.ts +27 -2
  46. package/lib/basedriver/core.ts +6 -96
  47. package/lib/basedriver/driver.ts +10 -0
  48. package/lib/basedriver/extension-core.ts +128 -0
  49. package/lib/basedriver/helpers.js +1 -1
  50. package/lib/express/server.js +24 -6
  51. package/lib/index.js +6 -0
  52. package/lib/jsonwp-proxy/proxy.js +20 -3
  53. package/lib/protocol/bidi-commands.js +1 -3
  54. package/lib/protocol/index.js +4 -0
  55. package/lib/protocol/protocol.js +5 -6
  56. package/lib/protocol/routes.js +452 -437
  57. package/package.json +6 -11
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../lib/protocol/routes.js"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import {
10
10
  } from '@appium/types';
11
11
  import {mixin} from './mixin';
12
12
  import {BaseDriver} from '../driver';
13
+ import {distance} from 'fastest-levenshtein';
13
14
 
14
15
  declare module '../driver' {
15
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -26,9 +27,33 @@ const ExecuteCommands: IExecuteCommands = {
26
27
  const commandMetadata = {...Driver.executeMethodMap?.[script]};
27
28
  if (!commandMetadata.command) {
28
29
  const availableScripts = _.keys(Driver.executeMethodMap);
30
+ if (_.isEmpty(availableScripts)) {
31
+ throw new errors.UnsupportedOperationError(
32
+ `Unsupported execute method '${script}'. ` +
33
+ `Make sure the installed ${Driver.name} is up-to-date. ` +
34
+ `The current driver version does not define any execute methods.`
35
+ );
36
+ }
37
+ const matchesMap: StringRecord<string[]> = availableScripts
38
+ .map((name) => [distance(script, name), name])
39
+ .reduce((acc, [key, value]) => {
40
+ if (key in acc) {
41
+ acc[key].push(value);
42
+ } else {
43
+ acc[key] = [value];
44
+ }
45
+ return acc;
46
+ }, {});
47
+ const sortedMatches = _.flatten(
48
+ _.keys(matchesMap)
49
+ .sort((a, b) => parseInt(a, 10) - parseInt(b, 10))
50
+ .map((x) => matchesMap[x])
51
+ );
29
52
  throw new errors.UnsupportedOperationError(
30
- `Unsupported execute method '${script}'. Available methods ` +
31
- `are: ${availableScripts.join(', ')}`
53
+ `Unsupported execute method '${script}', did you mean '${sortedMatches[0]}'? ` +
54
+ `Make sure the installed ${Driver.name} is up-to-date. ` +
55
+ `Execute methods available in the current driver version are: ` +
56
+ sortedMatches.join(', ')
32
57
  );
33
58
  }
34
59
  const args = validateExecuteMethodParams(protoArgs, commandMetadata.params);
@@ -1,4 +1,3 @@
1
- import {logger} from '@appium/support';
2
1
  import type {
3
2
  AppiumLogger,
4
3
  Constraints,
@@ -11,22 +10,18 @@ import type {
11
10
  Protocol,
12
11
  RouteMatcher,
13
12
  StringRecord,
14
- BidiModuleMap,
15
- BiDiResultData,
16
13
  } from '@appium/types';
17
14
  import AsyncLock from 'async-lock';
18
15
  import _ from 'lodash';
19
- import {EventEmitter} from 'node:events';
20
16
  import os from 'node:os';
21
17
  import {
22
18
  DEFAULT_BASE_PATH,
23
19
  PROTOCOLS,
24
- MAX_LOG_BODY_LENGTH,
25
20
  } from '../constants';
26
21
  import {errors} from '../protocol';
27
22
  import {DeviceSettings} from './device-settings';
28
23
  import * as helpers from './helpers';
29
- import {BIDI_COMMANDS} from '../protocol/bidi-commands';
24
+ import {ExtensionCore} from './extension-core';
30
25
 
31
26
  const NEW_COMMAND_TIMEOUT_MS = 60 * 1000;
32
27
 
@@ -36,7 +31,7 @@ const ALL_DRIVERS_MATCH = '*';
36
31
  const FEATURE_NAME_SEPARATOR = ':';
37
32
 
38
33
  export class DriverCore<const C extends Constraints, Settings extends StringRecord = StringRecord>
39
- implements Core<C, Settings>
34
+ extends ExtensionCore implements Core<C, Settings>
40
35
  {
41
36
  /**
42
37
  * Make the basedriver version available so for any driver which inherits from this package, we
@@ -82,11 +77,8 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
82
77
 
83
78
  protected _eventHistory: EventHistory;
84
79
 
85
- // used to handle driver events
86
- eventEmitter: NodeJS.EventEmitter;
87
-
88
80
  /**
89
- * @privateRemarks XXX: unsure why this is wrapped in a getter when nothing else is
81
+ * TODO: remove this._log and use this.log instead
90
82
  */
91
83
  protected _log: AppiumLogger;
92
84
 
@@ -106,14 +98,10 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
106
98
 
107
99
  protocol?: Protocol;
108
100
 
109
- bidiEventSubs: Record<string, string[]>;
110
-
111
- doesSupportBidi: boolean;
112
-
113
- bidiCommands: BidiModuleMap = BIDI_COMMANDS as BidiModuleMap;
114
-
115
101
  constructor(opts: InitialOpts = <InitialOpts>{}, shouldValidateCaps = true) {
116
- this._log = logger.getLogger(helpers.generateDriverLogPrefix(this as Core<C>));
102
+ super();
103
+ this._log = this.log; // TODO: remove references to this._log and use this.log instead
104
+
117
105
 
118
106
  // setup state
119
107
  this.opts = opts as DriverOpts<C>;
@@ -141,16 +129,9 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
141
129
  this.managedDrivers = [];
142
130
  this.noCommandTimer = null;
143
131
  this._eventHistory = {commands: []};
144
- this.eventEmitter = new EventEmitter();
145
132
  this.shutdownUnexpectedly = false;
146
133
  this.commandsQueueGuard = new AsyncLock();
147
134
  this.settings = new DeviceSettings();
148
- this.bidiEventSubs = {};
149
- this.doesSupportBidi = false;
150
- }
151
-
152
- get log() {
153
- return this._log;
154
135
  }
155
136
 
156
137
  /**
@@ -433,75 +414,4 @@ export class DriverCore<const C extends Constraints, Settings extends StringReco
433
414
  }
434
415
  }
435
416
 
436
- updateBidiCommands(cmds: BidiModuleMap): void {
437
- const overlappingKeys = _.intersection(Object.keys(cmds), Object.keys(this.bidiCommands));
438
- if (overlappingKeys.length) {
439
- this.log.warn(`Overwriting existing bidi modules: ${JSON.stringify(overlappingKeys)}. This may not be intended!`);
440
- }
441
- this.bidiCommands = {
442
- ...this.bidiCommands,
443
- ...cmds,
444
- };
445
- }
446
-
447
- async executeBidiCommand(bidiCmd: string, bidiParams: StringRecord): Promise<BiDiResultData> {
448
- const [moduleName, methodName] = bidiCmd.split('.');
449
-
450
- // if we don't get a valid format for bidi command name, reject
451
- if (!moduleName || !methodName) {
452
- throw new errors.UnknownCommandError(
453
- `Did not receive a valid BiDi module and method name ` +
454
- `of the form moduleName.methodName. Instead received ` +
455
- `'${moduleName}.${methodName}'`,
456
- );
457
- }
458
-
459
-
460
- // if the command module or method isn't part of our spec, reject
461
- if (!this.bidiCommands[moduleName] || !this.bidiCommands[moduleName][methodName]) {
462
- throw new errors.UnknownCommandError();
463
- }
464
-
465
- const {command, params} = this.bidiCommands[moduleName][methodName];
466
- // if the command method isn't part of our spec, also reject
467
- if (!command) {
468
- throw new errors.UnknownCommandError();
469
- }
470
-
471
- // If the driver doesn't have this command, it must not be implemented
472
- if (!this[command]) {
473
- throw new errors.NotYetImplementedError();
474
- }
475
-
476
- // TODO improve param parsing and error messages along the lines of what we have in the http
477
- // handlers
478
- const args: any[] = [];
479
- if (params?.required?.length) {
480
- for (const requiredParam of params.required) {
481
- if (_.isUndefined(bidiParams[requiredParam])) {
482
- throw new errors.InvalidArgumentError(
483
- `The ${requiredParam} parameter was required but you omitted it`,
484
- );
485
- }
486
- args.push(bidiParams[requiredParam]);
487
- }
488
- }
489
- if (params?.optional?.length) {
490
- for (const optionalParam of params.optional) {
491
- args.push(bidiParams[optionalParam]);
492
- }
493
- }
494
- const logParams = _.truncate(JSON.stringify(bidiParams), {length: MAX_LOG_BODY_LENGTH});
495
- this.log.debug(
496
- `Executing bidi command '${bidiCmd}' with params ${logParams} by passing to driver ` +
497
- `method '${command}'`,
498
- );
499
- const response = await this[command](...args);
500
- const finalResponse = _.isUndefined(response) ? {} : response;
501
- this.log.debug(
502
- `Responding to bidi command '${bidiCmd}' with ` +
503
- `${_.truncate(JSON.stringify(finalResponse), {length: MAX_LOG_BODY_LENGTH})}`
504
- );
505
- return finalResponse;
506
- }
507
417
  }
@@ -16,6 +16,7 @@ import {
16
16
  type InitialOpts,
17
17
  type DefaultDeleteSessionResult,
18
18
  type SingularSessionData,
19
+ type SessionCapabilities,
19
20
  } from '@appium/types';
20
21
  import B from 'bluebird';
21
22
  import _ from 'lodash';
@@ -359,6 +360,8 @@ export class BaseDriver<
359
360
 
360
361
  /**
361
362
  * Returns capabilities for the session and event history (if applicable)
363
+ * @deprecated Use {@linkcode ISessionCommands.getAppiumSessionCapabilities} instead for getting the capabilities.
364
+ * Use {@linkcode EventCommands.getLogEvents} instead to get the event history.
362
365
  */
363
366
  async getSession() {
364
367
  return (
@@ -366,6 +369,13 @@ export class BaseDriver<
366
369
  ) as SingularSessionData<C, SessionData>;
367
370
  }
368
371
 
372
+ /**
373
+ * Returns capabilities for the session
374
+ */
375
+ async getAppiumSessionCapabilities(): Promise<SessionCapabilities<C>> {
376
+ return {capabilities: this.caps};
377
+ }
378
+
369
379
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
370
380
  async deleteSession(sessionId?: string | null) {
371
381
  await this.clearNewCommandTimeout();
@@ -0,0 +1,128 @@
1
+ import {logger} from '@appium/support';
2
+ import {EventEmitter} from 'node:events';
3
+ import type {
4
+ AppiumLogger,
5
+ BidiModuleMap,
6
+ BiDiResultData,
7
+ StringRecord,
8
+ } from '@appium/types';
9
+ import {
10
+ MAX_LOG_BODY_LENGTH,
11
+ } from '../constants';
12
+ import {errors} from '../protocol';
13
+ import {BIDI_COMMANDS} from '../protocol/bidi-commands';
14
+ import _ from 'lodash';
15
+ import {generateDriverLogPrefix} from './helpers';
16
+
17
+ export class ExtensionCore {
18
+ bidiEventSubs: Record<string, string[]>;
19
+ bidiCommands: BidiModuleMap = BIDI_COMMANDS as BidiModuleMap;
20
+ _logPrefix?: string;
21
+ protected _log: AppiumLogger;
22
+ // used to handle driver events
23
+ readonly eventEmitter: NodeJS.EventEmitter;
24
+
25
+
26
+ constructor(logPrefix?: string) {
27
+ this._logPrefix = logPrefix;
28
+ this.bidiEventSubs = {};
29
+ this.eventEmitter = new EventEmitter();
30
+ }
31
+
32
+ get log(): AppiumLogger {
33
+ if (!this._log) {
34
+ this.updateLogPrefix(this._logPrefix ?? generateDriverLogPrefix(this));
35
+ }
36
+ return this._log;
37
+ }
38
+
39
+ updateLogPrefix(logPrefix: string) {
40
+ this._log = logger.getLogger(logPrefix);
41
+ }
42
+
43
+ updateBidiCommands(cmds: BidiModuleMap): void {
44
+ const overlappingKeys = _.intersection(Object.keys(cmds), Object.keys(this.bidiCommands));
45
+ if (overlappingKeys.length) {
46
+ this.log.warn(`Overwriting existing bidi modules: ${JSON.stringify(overlappingKeys)}. This may not be intended!`);
47
+ }
48
+ this.bidiCommands = {
49
+ ...this.bidiCommands,
50
+ ...cmds,
51
+ };
52
+ }
53
+
54
+ doesBidiCommandExist(moduleName: string, methodName: string): boolean {
55
+ try {
56
+ this.ensureBidiCommandExists(moduleName, methodName);
57
+ } catch {
58
+ return false;
59
+ }
60
+ return true;
61
+ }
62
+
63
+ ensureBidiCommandExists(moduleName: string, methodName: string): void {
64
+ // if we don't get a valid format for bidi command name, reject
65
+ if (!moduleName || !methodName) {
66
+ throw new errors.UnknownCommandError(
67
+ `Did not receive a valid BiDi module and method name ` +
68
+ `of the form moduleName.methodName. Instead received ` +
69
+ `'${moduleName}.${methodName}'`,
70
+ );
71
+ }
72
+
73
+ // if the command module or method isn't part of our spec, reject
74
+ if (!this.bidiCommands[moduleName] || !this.bidiCommands[moduleName][methodName]) {
75
+ throw new errors.UnknownCommandError();
76
+ }
77
+
78
+ const {command} = this.bidiCommands[moduleName][methodName];
79
+ // if the command method isn't part of our spec, also reject
80
+ if (!command) {
81
+ throw new errors.UnknownCommandError();
82
+ }
83
+
84
+ // If the driver doesn't have this command, it must not be implemented
85
+ if (!this[command]) {
86
+ throw new errors.NotYetImplementedError();
87
+ }
88
+ }
89
+
90
+ async executeBidiCommand(bidiCmd: string, bidiParams: StringRecord, next?: () => Promise<any>, driver?: ExtensionCore): Promise<BiDiResultData> {
91
+ const handlerType = (next && driver) ? 'plugin' : 'driver';
92
+ const [moduleName, methodName] = bidiCmd.split('.');
93
+ this.ensureBidiCommandExists(moduleName, methodName);
94
+ const {command, params} = this.bidiCommands[moduleName][methodName];
95
+
96
+ // TODO improve param parsing and error messages along the lines of what we have in the http
97
+ // handlers
98
+ const args: any[] = [];
99
+ if (params?.required?.length) {
100
+ for (const requiredParam of params.required) {
101
+ if (_.isUndefined(bidiParams[requiredParam])) {
102
+ throw new errors.InvalidArgumentError(
103
+ `The ${requiredParam} parameter was required but you omitted it`,
104
+ );
105
+ }
106
+ args.push(bidiParams[requiredParam]);
107
+ }
108
+ }
109
+ if (params?.optional?.length) {
110
+ for (const optionalParam of params.optional) {
111
+ args.push(bidiParams[optionalParam]);
112
+ }
113
+ }
114
+ const logParams = _.truncate(JSON.stringify(bidiParams), {length: MAX_LOG_BODY_LENGTH});
115
+ this.log.debug(
116
+ `Executing bidi command '${bidiCmd}' with params ${logParams} by passing to ${handlerType} ` +
117
+ `method '${command}'`,
118
+ );
119
+ // call the handler with the signature appropriate to extension type (plugin or driver)
120
+ const response = (next && driver) ? await this[command](next, driver, ...args) : await this[command](...args);
121
+ const finalResponse = _.isUndefined(response) ? {} : response;
122
+ this.log.debug(
123
+ `Responding to bidi command '${bidiCmd}' with ` +
124
+ `${_.truncate(JSON.stringify(finalResponse), {length: MAX_LOG_BODY_LENGTH})}`
125
+ );
126
+ return finalResponse;
127
+ }
128
+ }
@@ -401,7 +401,7 @@ export function parseCapsArray(cap) {
401
401
  /**
402
402
  * Generate a string that uniquely describes driver instance
403
403
  *
404
- * @param {import('@appium/types').Core} obj driver instance
404
+ * @param {object} obj driver instance
405
405
  * @param {string?} [sessionId=null] session identifier (if exists).
406
406
  * This parameter is deprecated and is not used.
407
407
  * @returns {string}
@@ -76,7 +76,7 @@ async function createServer (app, cliArgs) {
76
76
  * @param {ServerOpts} opts
77
77
  * @returns {Promise<AppiumServer>}
78
78
  */
79
- async function server(opts) {
79
+ export async function server(opts) {
80
80
  const {
81
81
  routeConfiguringFunction,
82
82
  port,
@@ -87,6 +87,7 @@ async function server(opts) {
87
87
  extraMethodMap = {},
88
88
  serverUpdaters = [],
89
89
  keepAliveTimeout = KEEP_ALIVE_TIMEOUT_MS,
90
+ requestTimeout,
90
91
  } = opts;
91
92
 
92
93
  const app = express();
@@ -123,7 +124,13 @@ async function server(opts) {
123
124
  // want to block extensions' ability to add routes if they want.
124
125
  app.all('*', catch404Handler);
125
126
 
126
- await startServer({httpServer, hostname, port, keepAliveTimeout});
127
+ await startServer({
128
+ httpServer,
129
+ hostname,
130
+ port,
131
+ keepAliveTimeout,
132
+ requestTimeout,
133
+ });
127
134
 
128
135
  resolve(appiumServer);
129
136
  } catch (err) {
@@ -136,7 +143,7 @@ async function server(opts) {
136
143
  * Sets up some Express middleware and stuff
137
144
  * @param {ConfigureServerOpts} opts
138
145
  */
139
- function configureServer({
146
+ export function configureServer({
140
147
  app,
141
148
  addRoutes,
142
149
  allowCors = true,
@@ -267,13 +274,22 @@ function configureHttp({httpServer, reject, keepAliveTimeout, gracefulShutdownTi
267
274
  * @param {StartServerOpts} opts
268
275
  * @returns {Promise<void>}
269
276
  */
270
- async function startServer({httpServer, port, hostname, keepAliveTimeout}) {
277
+ async function startServer({
278
+ httpServer,
279
+ port,
280
+ hostname,
281
+ keepAliveTimeout,
282
+ requestTimeout,
283
+ }) {
271
284
  // If the hostname is omitted, the server will accept
272
285
  // connections on any IP address
273
286
  /** @type {(port: number, hostname?: string) => B<http.Server>} */
274
287
  const start = B.promisify(httpServer.listen, {context: httpServer});
275
288
  const startPromise = start(port, hostname);
276
289
  httpServer.keepAliveTimeout = keepAliveTimeout;
290
+ if (_.isInteger(requestTimeout)) {
291
+ httpServer.requestTimeout = Number(requestTimeout);
292
+ }
277
293
  // headers timeout must be greater than keepAliveTimeout
278
294
  httpServer.headersTimeout = keepAliveTimeout + 5 * 1000;
279
295
  await startPromise;
@@ -284,7 +300,7 @@ async function startServer({httpServer, port, hostname, keepAliveTimeout}) {
284
300
  * @param {string} basePath
285
301
  * @returns {string}
286
302
  */
287
- function normalizeBasePath(basePath) {
303
+ export function normalizeBasePath(basePath) {
288
304
  if (!_.isString(basePath)) {
289
305
  throw new Error(`Invalid path prefix ${basePath}`);
290
306
  }
@@ -302,7 +318,6 @@ function normalizeBasePath(basePath) {
302
318
  return basePath;
303
319
  }
304
320
 
305
- export {server, configureServer, normalizeBasePath};
306
321
 
307
322
  /**
308
323
  * Options for {@linkcode startServer}.
@@ -311,6 +326,8 @@ export {server, configureServer, normalizeBasePath};
311
326
  * @property {number} port - Port to run on
312
327
  * @property {number} keepAliveTimeout - Keep-alive timeout in milliseconds
313
328
  * @property {string} [hostname] - Optional hostname
329
+ * @property {number} [requestTimeout] - The timeout value in milliseconds for
330
+ * receiving the entire request from the client
314
331
  */
315
332
 
316
333
  /**
@@ -344,6 +361,7 @@ export {server, configureServer, normalizeBasePath};
344
361
  * @property {MethodMap} [extraMethodMap]
345
362
  * @property {import('@appium/types').UpdateServerCallback[]} [serverUpdaters]
346
363
  * @property {number} [keepAliveTimeout]
364
+ * @property {number} [requestTimeout]
347
365
  */
348
366
 
349
367
  /**
package/lib/index.js CHANGED
@@ -10,6 +10,7 @@ try {
10
10
  }
11
11
 
12
12
  // BaseDriver exports
13
+ export {ExtensionCore} from './basedriver/extension-core';
13
14
  import {BaseDriver} from './basedriver/driver';
14
15
  export {DriverCore} from './basedriver/core';
15
16
  export {DeviceSettings} from './basedriver/device-settings';
@@ -48,6 +49,11 @@ export {
48
49
  // Web socket helpers
49
50
  export {DEFAULT_WS_PATHNAME_PREFIX} from './express/websocket';
50
51
 
52
+ // BiDi exports
53
+ export {BIDI_COMMANDS} from './protocol/bidi-commands';
54
+
55
+ export {generateDriverLogPrefix} from './basedriver/helpers';
56
+
51
57
  /**
52
58
  * @typedef {import('./express/server').ServerOpts} ServerOpts
53
59
  */
@@ -15,6 +15,7 @@ import ProtocolConverter from './protocol-converter';
15
15
  import {formatResponseValue, formatStatus} from '../protocol/helpers';
16
16
  import http from 'http';
17
17
  import https from 'https';
18
+ import { match as pathToRegexMatch } from 'path-to-regexp';
18
19
 
19
20
  const DEFAULT_LOG = logger.getLogger('WD Proxy');
20
21
  const DEFAULT_REQUEST_TIMEOUT = 240000;
@@ -110,8 +111,24 @@ class JWProxy {
110
111
  this._activeRequests = [];
111
112
  }
112
113
 
114
+ /**
115
+ * Return true if the given endpoint started with '/session' and
116
+ * it could have session id after the path.
117
+ * e.g.
118
+ * - should return true
119
+ * - /session/82a9b7da-faaf-4a1d-8ef3-5e4fb5812200
120
+ * - /session/82a9b7da-faaf-4a1d-8ef3-5e4fb5812200/url
121
+ * - should return false
122
+ * - /session
123
+ * - /sessions
124
+ * - /session/
125
+ * - /status
126
+ * - /appium/sessions
127
+ * @param {string} endpoint
128
+ * @returns {boolean}
129
+ */
113
130
  endpointRequiresSessionId(endpoint) {
114
- return !_.includes(['/session', '/sessions', '/status'], endpoint);
131
+ return !!(pathToRegexMatch('/session/:sessionId{/*command}')(endpoint));
115
132
  }
116
133
 
117
134
  set downstreamProtocol(value) {
@@ -128,7 +145,7 @@ class JWProxy {
128
145
  url = '/';
129
146
  }
130
147
  const proxyBase = `${this.scheme}://${this.server}:${this.port}${this.base}`;
131
- const endpointRe = '(/(session|status))';
148
+ const endpointRe = '(/(session|status|appium))';
132
149
  let remainingUrl = '';
133
150
  if (/^http/.test(url)) {
134
151
  const first = new RegExp(`(https?://.+)${endpointRe}`).exec(url);
@@ -142,7 +159,7 @@ class JWProxy {
142
159
  throw new Error(`Did not know what to do with url '${url}'`);
143
160
  }
144
161
 
145
- const stripPrefixRe = new RegExp('^.*?(/(session|status).*)$');
162
+ const stripPrefixRe = new RegExp('^.*?(/(session|status|appium).*)$');
146
163
  if (stripPrefixRe.test(remainingUrl)) {
147
164
  remainingUrl = /** @type {RegExpExecArray} */ (stripPrefixRe.exec(remainingUrl))[1];
148
165
  }
@@ -3,7 +3,7 @@ const SUBSCRIPTION_REQUEST_PARAMS = /** @type {const} */ ({
3
3
  optional: ['contexts'],
4
4
  });
5
5
 
6
- const BIDI_COMMANDS = /** @type {const} */ ({
6
+ export const BIDI_COMMANDS = /** @type {const} */ ({
7
7
  session: {
8
8
  subscribe: {
9
9
  command: 'bidiSubscribe',
@@ -31,5 +31,3 @@ const BIDI_COMMANDS = /** @type {const} */ ({
31
31
 
32
32
  // TODO add definitions for all bidi commands.
33
33
  // spec link: https://w3c.github.io/webdriver-bidi/
34
-
35
- export {BIDI_COMMANDS};