@appium/base-driver 9.5.4 → 9.7.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.
@@ -66,7 +66,8 @@ exports.validator.validators.isArray = function isArray(value) {
66
66
  exports.validator.validators.deprecated = function deprecated(value, options, key) {
67
67
  // do not print caps that hasn't been provided.
68
68
  if (typeof value !== 'undefined' && options) {
69
- logger_1.default.warn(`${key} is a deprecated capability`);
69
+ logger_1.default.warn(`The '${key}' capability has been deprecated and must not be used anymore. ` +
70
+ `Please check the driver documentation for possible alternatives.`);
70
71
  }
71
72
  return null;
72
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desired-caps.js","sourceRoot":"","sources":["../../../lib/basedriver/desired-caps.js"],"names":[],"mappings":"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"}
@@ -1,35 +1,14 @@
1
- declare const _default: import('@appium/types').DriverHelpers;
2
- export default _default;
3
- export type RemoteAppProps = {
4
- lastModified: Date | null;
5
- immutable: boolean;
6
- maxAge: number | null;
7
- etag: string | null;
8
- };
9
- /**
10
- * Properties of the remote application (e.g. GET HTTP response) to be downloaded.
11
- */
12
- export type RemoteAppData = {
13
- /**
14
- * The HTTP status of the response
15
- */
16
- status: number;
17
- /**
18
- * The HTTP response body represented as readable stream
19
- */
20
- stream: import('stream').Readable;
21
- /**
22
- * HTTP response headers
23
- */
24
- headers: import('axios').RawAxiosResponseHeaders | import('axios').AxiosResponseHeaders;
25
- };
26
1
  /**
27
2
  *
28
3
  * @param {string} app
29
4
  * @param {string|string[]|import('@appium/types').ConfigureAppOptions} options
30
5
  */
31
6
  export function configureApp(app: string, options?: string | string[] | import('@appium/types').ConfigureAppOptions): Promise<any>;
32
- export function isPackageOrBundle(app: any): boolean;
7
+ /**
8
+ * @param {string} app
9
+ * @returns {boolean}
10
+ */
11
+ export function isPackageOrBundle(app: string): boolean;
33
12
  /**
34
13
  * Finds all instances 'firstKey' and create a duplicate with the key 'secondKey',
35
14
  * Do the same thing in reverse. If we find 'secondKey', create a duplicate with the key 'firstKey'.
@@ -57,4 +36,29 @@ export function parseCapsArray(cap: string | Array<string>): any[];
57
36
  */
58
37
  export function generateDriverLogPrefix(obj: import("@appium/types").Core<any, import("@appium/types").StringRecord>, sessionId?: string | null): string;
59
38
  export const BASEDRIVER_VER: string;
39
+ declare const _default: import('@appium/types').DriverHelpers;
40
+ export default _default;
41
+ export type RemoteAppProps = {
42
+ lastModified: Date | null;
43
+ immutable: boolean;
44
+ maxAge: number | null;
45
+ etag: string | null;
46
+ };
47
+ /**
48
+ * Properties of the remote application (e.g. GET HTTP response) to be downloaded.
49
+ */
50
+ export type RemoteAppData = {
51
+ /**
52
+ * The HTTP status of the response
53
+ */
54
+ status: number;
55
+ /**
56
+ * The HTTP response body represented as readable stream
57
+ */
58
+ stream: import('stream').Readable;
59
+ /**
60
+ * HTTP response headers
61
+ */
62
+ headers: import('axios').RawAxiosResponseHeaders | import('axios').AxiosResponseHeaders;
63
+ };
60
64
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"wBAqlBW,OAAO,eAAe,EAAE,aAAa;;;kBAmBlC,IAAI;eACJ,OAAO;YACP,MAAM;UACN,MAAM;;;;;;;;;YAKN,MAAM;;;;YACN,OAAO,QAAQ,EAAE,QAAQ;;;;aACzB,OAAO,OAAO,EAAE,uBAAuB,GAAG,OAAO,OAAO,EAAE,oBAAoB;;AA7gB5F;;;;GAIG;AACH,kCAHW,MAAM,YACN,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,mBAAmB,gBA8PrE;AAkKD,qDAEC;AAED;;;;;;;;;GASG;AACH,oFAuBC;AAED;;;;;GAKG;AACH,oCAFW,MAAM,GAAC,aAAa,SAoB9B;AAED;;;;;;GAMG;AACH,kIAHW,MAAM,UACJ,MAAM,CAKlB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"AAmIA;;;;GAIG;AACH,kCAHW,MAAM,YACN,MAAM,GAAC,MAAM,EAAE,GAAC,OAAO,eAAe,EAAE,mBAAmB,gBAqQrE;AAkKD;;;GAGG;AACH,uCAHW,MAAM,GACJ,OAAO,CAInB;AAED;;;;;;;;;GASG;AACH,oFAuBC;AAED;;;;;GAKG;AACH,oCAFW,MAAM,GAAC,aAAa,SAoB9B;AAED;;;;;;GAMG;AACH,kIAHW,MAAM,UACJ,MAAM,CAKlB;;wBAEU,OAAO,eAAe,EAAE,aAAa;;;kBAWlC,IAAI;eACJ,OAAO;YACP,MAAM;UACN,MAAM;;;;;;;;;YAKN,MAAM;;;;YACN,OAAO,QAAQ,EAAE,QAAQ;;;;aACzB,OAAO,OAAO,EAAE,uBAAuB,GAAG,OAAO,OAAO,EAAE,oBAAoB"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BASEDRIVER_VER = exports.generateDriverLogPrefix = exports.parseCapsArray = exports.duplicateKeys = exports.isPackageOrBundle = exports.configureApp = void 0;
6
+ exports.generateDriverLogPrefix = exports.parseCapsArray = exports.duplicateKeys = exports.isPackageOrBundle = exports.configureApp = exports.BASEDRIVER_VER = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const url_1 = __importDefault(require("url"));
@@ -14,26 +14,25 @@ const async_lock_1 = __importDefault(require("async-lock"));
14
14
  const axios_1 = __importDefault(require("axios"));
15
15
  const bluebird_1 = __importDefault(require("bluebird"));
16
16
  // for compat with running tests transpiled and in-place
17
- const { version: BASEDRIVER_VER } = support_1.fs.readPackageJsonFrom(__dirname);
18
- exports.BASEDRIVER_VER = BASEDRIVER_VER;
17
+ exports.BASEDRIVER_VER = support_1.fs.readPackageJsonFrom(__dirname).version;
19
18
  const IPA_EXT = '.ipa';
20
19
  const ZIP_EXTS = new Set(['.zip', IPA_EXT]);
21
20
  const ZIP_MIME_TYPES = ['application/zip', 'application/x-zip-compressed', 'multipart/x-zip'];
22
- const CACHED_APPS_MAX_AGE = 1000 * 60 * 60 * 24; // ms
23
- const MAX_CACHED_APPS = 1024;
21
+ const CACHED_APPS_MAX_AGE_MS = 1000 * 60 * toNaturalNumber(60 * 24, 'APPIUM_APPS_CACHE_MAX_AGE');
22
+ const MAX_CACHED_APPS = toNaturalNumber(1024, 'APPIUM_APPS_CACHE_MAX_ITEMS');
24
23
  const HTTP_STATUS_NOT_MODIFIED = 304;
25
24
  const DEFAULT_REQ_HEADERS = Object.freeze({
26
- 'user-agent': `Appium (BaseDriver v${BASEDRIVER_VER})`,
25
+ 'user-agent': `Appium (BaseDriver v${exports.BASEDRIVER_VER})`,
27
26
  });
28
27
  const AVG_DOWNLOAD_SPEED_MEASUREMENT_THRESHOLD_SEC = 2;
28
+ /** @type {LRUCache<string, import('@appium/types').CachedAppInfo>} */
29
29
  const APPLICATIONS_CACHE = new lru_cache_1.LRUCache({
30
30
  max: MAX_CACHED_APPS,
31
- ttl: CACHED_APPS_MAX_AGE, // expire after 24 hours
31
+ ttl: CACHED_APPS_MAX_AGE_MS, // expire after 24 hours
32
32
  updateAgeOnGet: true,
33
- // @ts-ignore The fullPath property exists
34
33
  dispose: ({ fullPath }, app) => {
35
34
  logger_1.default.info(`The application '${app}' cached at '${fullPath}' has ` +
36
- `expired after ${CACHED_APPS_MAX_AGE}ms`);
35
+ `expired after ${CACHED_APPS_MAX_AGE_MS}ms`);
37
36
  if (fullPath) {
38
37
  support_1.fs.rimraf(fullPath);
39
38
  }
@@ -48,14 +47,12 @@ process.on('exit', () => {
48
47
  if (APPLICATIONS_CACHE.size === 0) {
49
48
  return;
50
49
  }
51
- const appPaths = [...APPLICATIONS_CACHE.values()]
52
- // @ts-ignore The fullPath property exists
53
- .map(({ fullPath }) => fullPath);
50
+ const appPaths = [...APPLICATIONS_CACHE.values()].map(({ fullPath }) => fullPath);
54
51
  logger_1.default.debug(`Performing cleanup of ${appPaths.length} cached ` +
55
52
  support_1.util.pluralize('application', appPaths.length));
56
53
  for (const appPath of appPaths) {
57
54
  try {
58
- // Asynchronous calls are not supported in onExit handler
55
+ // @ts-ignore it's defined
59
56
  support_1.fs.rimrafSync(appPath);
60
57
  }
61
58
  catch (e) {
@@ -63,6 +60,24 @@ process.on('exit', () => {
63
60
  }
64
61
  }
65
62
  });
63
+ /**
64
+ *
65
+ * @param {string} [envVarName]
66
+ * @param {number} defaultValue
67
+ * @returns {number}
68
+ */
69
+ function toNaturalNumber(defaultValue, envVarName) {
70
+ if (!envVarName || lodash_1.default.isUndefined(process.env[envVarName])) {
71
+ return defaultValue;
72
+ }
73
+ const num = parseInt(`${process.env[envVarName]}`, 10);
74
+ return num > 0 ? num : defaultValue;
75
+ }
76
+ /**
77
+ * @param {string} app
78
+ * @param {string[]} supportedAppExtensions
79
+ * @returns {string}
80
+ */
66
81
  function verifyAppExtension(app, supportedAppExtensions) {
67
82
  if (supportedAppExtensions.map(lodash_1.default.toLower).includes(lodash_1.default.toLower(path_1.default.extname(app)))) {
68
83
  return app;
@@ -71,12 +86,25 @@ function verifyAppExtension(app, supportedAppExtensions) {
71
86
  `${support_1.util.pluralize('extension', supportedAppExtensions.length, false)}: ` +
72
87
  supportedAppExtensions);
73
88
  }
89
+ /**
90
+ * @param {string} folderPath
91
+ * @returns {Promise<number>}
92
+ */
74
93
  async function calculateFolderIntegrity(folderPath) {
75
94
  return (await support_1.fs.glob('**/*', { cwd: folderPath })).length;
76
95
  }
96
+ /**
97
+ * @param {string} filePath
98
+ * @returns {Promise<string>}
99
+ */
77
100
  async function calculateFileIntegrity(filePath) {
78
101
  return await support_1.fs.hash(filePath);
79
102
  }
103
+ /**
104
+ * @param {string} currentPath
105
+ * @param {import('@appium/types').StringRecord} expectedIntegrity
106
+ * @returns {Promise<boolean>}
107
+ */
80
108
  async function isAppIntegrityOk(currentPath, expectedIntegrity = {}) {
81
109
  if (!(await support_1.fs.exists(currentPath))) {
82
110
  return false;
@@ -104,6 +132,7 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
104
132
  }
105
133
  let supportedAppExtensions;
106
134
  const onPostProcess = !lodash_1.default.isString(options) && !lodash_1.default.isArray(options) ? options.onPostProcess : undefined;
135
+ const onDownload = !lodash_1.default.isString(options) && !lodash_1.default.isArray(options) ? options.onDownload : undefined;
107
136
  if (lodash_1.default.isString(options)) {
108
137
  supportedAppExtensions = [options];
109
138
  }
@@ -117,6 +146,7 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
117
146
  throw new Error(`One or more supported app extensions must be provided`);
118
147
  }
119
148
  let newApp = app;
149
+ const originalAppLink = app;
120
150
  let shouldUnzipApp = false;
121
151
  let packageHash = null;
122
152
  /** @type {import('axios').AxiosResponse['headers']|undefined} */
@@ -130,8 +160,6 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
130
160
  };
131
161
  const { protocol, pathname } = url_1.default.parse(newApp);
132
162
  const isUrl = protocol === null ? false : ['http:', 'https:'].includes(protocol);
133
- /** @type {import('@appium/types').CachedAppInfo|undefined} */
134
- // @ts-ignore We know the returned type
135
163
  const cachedAppInfo = APPLICATIONS_CACHE.get(app);
136
164
  if (cachedAppInfo) {
137
165
  logger_1.default.debug(`Cached app data: ${JSON.stringify(cachedAppInfo, null, 2)}`);
@@ -149,19 +177,21 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
149
177
  else if (cachedAppInfo?.lastModified) {
150
178
  reqHeaders['if-modified-since'] = cachedAppInfo.lastModified.toUTCString();
151
179
  }
180
+ logger_1.default.debug(`Request headers: ${JSON.stringify(reqHeaders)}`);
152
181
  let { headers, stream, status } = await queryAppLink(newApp, reqHeaders);
182
+ logger_1.default.debug(`Response status: ${status}`);
153
183
  try {
154
184
  if (!lodash_1.default.isEmpty(headers)) {
155
- logger_1.default.debug(`Etag: ${headers.etag}`);
156
185
  if (headers.etag) {
186
+ logger_1.default.debug(`Etag: ${headers.etag}`);
157
187
  remoteAppProps.etag = headers.etag;
158
188
  }
159
- logger_1.default.debug(`Last-Modified: ${headers['last-modified']}`);
160
189
  if (headers['last-modified']) {
190
+ logger_1.default.debug(`Last-Modified: ${headers['last-modified']}`);
161
191
  remoteAppProps.lastModified = new Date(headers['last-modified']);
162
192
  }
163
- logger_1.default.debug(`Cache-Control: ${headers['cache-control']}`);
164
193
  if (headers['cache-control']) {
194
+ logger_1.default.debug(`Cache-Control: ${headers['cache-control']}`);
165
195
  remoteAppProps.immutable = /\bimmutable\b/i.test(headers['cache-control']);
166
196
  const maxAgeMatch = /\bmax-age=(\d+)\b/i.exec(headers['cache-control']);
167
197
  if (maxAgeMatch) {
@@ -170,9 +200,9 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
170
200
  }
171
201
  }
172
202
  if (cachedAppInfo && status === HTTP_STATUS_NOT_MODIFIED) {
173
- if (await isAppIntegrityOk(cachedAppInfo.fullPath, cachedAppInfo.integrity)) {
203
+ if (await isAppIntegrityOk(/** @type {string} */ (cachedAppInfo.fullPath), cachedAppInfo.integrity)) {
174
204
  logger_1.default.info(`Reusing previously downloaded application at '${cachedAppInfo.fullPath}'`);
175
- return verifyAppExtension(cachedAppInfo.fullPath, supportedAppExtensions);
205
+ return verifyAppExtension(/** @type {string} */ (cachedAppInfo.fullPath), supportedAppExtensions);
176
206
  }
177
207
  logger_1.default.info(`The application at '${cachedAppInfo.fullPath}' does not exist anymore ` +
178
208
  `or its integrity has been damaged. Deleting it from the internal cache`);
@@ -227,11 +257,16 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
227
257
  }
228
258
  fileName = `${resultingName}${resultingExt}`;
229
259
  }
230
- const targetPath = await support_1.tempDir.path({
231
- prefix: fileName,
232
- suffix: '',
233
- });
234
- newApp = await fetchApp(stream, targetPath);
260
+ newApp = onDownload
261
+ ? await onDownload({
262
+ url: originalAppLink,
263
+ headers: /** @type {import('@appium/types').HTTPHeaders} */ (lodash_1.default.clone(headers)),
264
+ stream,
265
+ })
266
+ : await fetchApp(stream, await support_1.tempDir.path({
267
+ prefix: fileName,
268
+ suffix: '',
269
+ }));
235
270
  }
236
271
  finally {
237
272
  if (!stream.closed) {
@@ -262,12 +297,12 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
262
297
  const archivePath = newApp;
263
298
  if (packageHash === cachedAppInfo?.packageHash) {
264
299
  const fullPath = cachedAppInfo?.fullPath;
265
- if (await isAppIntegrityOk(fullPath, cachedAppInfo?.integrity)) {
300
+ if (await isAppIntegrityOk(/** @type {string} */ (fullPath), cachedAppInfo?.integrity)) {
266
301
  if (archivePath !== app) {
267
302
  await support_1.fs.rimraf(archivePath);
268
303
  }
269
304
  logger_1.default.info(`Will reuse previously cached application at '${fullPath}'`);
270
- return verifyAppExtension(fullPath, supportedAppExtensions);
305
+ return verifyAppExtension(/** @type {string} */ (fullPath), supportedAppExtensions);
271
306
  }
272
307
  logger_1.default.info(`The application at '${fullPath}' does not exist anymore ` +
273
308
  `or its integrity has been damaged. Deleting it from the cache`);
@@ -316,6 +351,7 @@ async function configureApp(app, options = /** @type {import('@appium/types').Co
316
351
  /** @type {import('@appium/types').PostProcessOptions<import('axios').AxiosResponseHeaders>} */ ({
317
352
  cachedAppInfo: lodash_1.default.clone(cachedAppInfo),
318
353
  isUrl,
354
+ originalAppLink,
319
355
  headers: lodash_1.default.clone(headers),
320
356
  appPath: newApp,
321
357
  }));
@@ -467,6 +503,10 @@ async function unzipApp(zipPath, dstRoot, supportedAppExtensions) {
467
503
  await support_1.fs.rimraf(tmpRoot);
468
504
  }
469
505
  }
506
+ /**
507
+ * @param {string} app
508
+ * @returns {boolean}
509
+ */
470
510
  function isPackageOrBundle(app) {
471
511
  return /^([a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+)+$/.test(app);
472
512
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../lib/basedriver/helpers.js"],"names":[],"mappings":"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"}
@@ -1,9 +1,48 @@
1
- export function allowCrossDomain(req: any, res: any, next: any): any;
2
- export function fixPythonContentType(basePath: any): (req: any, res: any, next: any) => void;
3
- export function defaultToJSONContentType(req: any, res: any, next: any): void;
4
- export function catchAllHandler(err: any, req: any, res: any, next: any): any;
5
- export function allowCrossDomainAsyncExecute(basePath: any): (req: any, res: any, next: any) => any;
6
- import { handleIdempotency } from './idempotency';
7
- export function catch404Handler(req: any, res: any): void;
1
+ /**
2
+ *
3
+ * @param {import('express').Request} req
4
+ * @param {import('express').Response} res
5
+ * @param {import('express').NextFunction} next
6
+ * @returns {any}
7
+ */
8
+ export function allowCrossDomain(req: import('express').Request, res: import('express').Response, next: import('express').NextFunction): any;
9
+ /**
10
+ * @param {string} basePath
11
+ * @returns {import('express').RequestHandler}
12
+ */
13
+ export function allowCrossDomainAsyncExecute(basePath: string): import('express').RequestHandler;
14
+ /**
15
+ *
16
+ * @param {string} basePath
17
+ * @returns {import('express').RequestHandler}
18
+ */
19
+ export function fixPythonContentType(basePath: string): import('express').RequestHandler;
20
+ /**
21
+ *
22
+ * @param {import('express').Request} req
23
+ * @param {import('express').Response} res
24
+ * @param {import('express').NextFunction} next
25
+ * @returns {any}
26
+ */
27
+ export function defaultToJSONContentType(req: import('express').Request, res: import('express').Response, next: import('express').NextFunction): any;
28
+ /**
29
+ *
30
+ * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping
31
+ * @returns {import('express').RequestHandler}
32
+ */
33
+ export function handleUpgrade(webSocketsMapping: import('@appium/types').StringRecord<import('@appium/types').WSServer>): import('express').RequestHandler;
34
+ /**
35
+ * @param {Error} err
36
+ * @param {import('express').Request} req
37
+ * @param {import('express').Response} res
38
+ * @param {import('express').NextFunction} next
39
+ */
40
+ export function catchAllHandler(err: Error, req: import('express').Request, res: import('express').Response, next: import('express').NextFunction): void;
41
+ /**
42
+ * @param {import('express').Request} req
43
+ * @param {import('express').Response} res
44
+ */
45
+ export function catch404Handler(req: import('express').Request, res: import('express').Response): void;
8
46
  export { handleIdempotency };
47
+ import { handleIdempotency } from './idempotency';
9
48
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../lib/express/middleware.js"],"names":[],"mappings":"AAKA,qEAiBC;AAgBD,6FAaC;AAED,8EAKC;AAED,8EAmBC;AAvDD,oGAYC;kCAjC+B,eAAe;AA8E/C,0DAgBC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../lib/express/middleware.js"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,sCALW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,GAC5B,GAAG,CAmBf;AAED;;;GAGG;AACH,uDAHW,MAAM,GACJ,OAAO,SAAS,EAAE,cAAc,CAc5C;AAED;;;;GAIG;AACH,+CAHW,MAAM,GACJ,OAAO,SAAS,EAAE,cAAc,CAe5C;AAED;;;;;;GAMG;AACH,8CALW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,GAC5B,GAAG,CAOf;AAED;;;;GAIG;AACH,iDAHW,OAAO,eAAe,EAAE,YAAY,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,GACpE,OAAO,SAAS,EAAE,cAAc,CAuB5C;AAED;;;;;GAKG;AACH,qCALW,KAAK,OACL,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,QAqBxC;AAED;;;GAGG;AACH,qCAHW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAkBpC;;kCA5J+B,eAAe"}
@@ -3,12 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.catch404Handler = exports.handleIdempotency = exports.allowCrossDomainAsyncExecute = exports.catchAllHandler = exports.defaultToJSONContentType = exports.fixPythonContentType = exports.allowCrossDomain = void 0;
6
+ exports.handleIdempotency = exports.catch404Handler = exports.catchAllHandler = exports.handleUpgrade = exports.defaultToJSONContentType = exports.fixPythonContentType = exports.allowCrossDomainAsyncExecute = exports.allowCrossDomain = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
8
  const logger_1 = __importDefault(require("./logger"));
9
9
  const protocol_1 = require("../protocol");
10
10
  const idempotency_1 = require("./idempotency");
11
11
  Object.defineProperty(exports, "handleIdempotency", { enumerable: true, get: function () { return idempotency_1.handleIdempotency; } });
12
+ const path_to_regexp_1 = require("path-to-regexp");
13
+ /**
14
+ *
15
+ * @param {import('express').Request} req
16
+ * @param {import('express').Response} res
17
+ * @param {import('express').NextFunction} next
18
+ * @returns {any}
19
+ */
12
20
  function allowCrossDomain(req, res, next) {
13
21
  try {
14
22
  res.header('Access-Control-Allow-Origin', '*');
@@ -25,6 +33,10 @@ function allowCrossDomain(req, res, next) {
25
33
  next();
26
34
  }
27
35
  exports.allowCrossDomain = allowCrossDomain;
36
+ /**
37
+ * @param {string} basePath
38
+ * @returns {import('express').RequestHandler}
39
+ */
28
40
  function allowCrossDomainAsyncExecute(basePath) {
29
41
  return (req, res, next) => {
30
42
  // there are two paths for async responses, so cover both
@@ -37,11 +49,16 @@ function allowCrossDomainAsyncExecute(basePath) {
37
49
  };
38
50
  }
39
51
  exports.allowCrossDomainAsyncExecute = allowCrossDomainAsyncExecute;
52
+ /**
53
+ *
54
+ * @param {string} basePath
55
+ * @returns {import('express').RequestHandler}
56
+ */
40
57
  function fixPythonContentType(basePath) {
41
58
  return (req, res, next) => {
42
59
  // hack because python client library gives us wrong content-type
43
60
  if (new RegExp(`^${lodash_1.default.escapeRegExp(basePath)}`).test(req.path) &&
44
- /^Python/.test(req.headers['user-agent'])) {
61
+ /^Python/.test(req.headers['user-agent'] ?? '')) {
45
62
  if (req.headers['content-type'] === 'application/x-www-form-urlencoded') {
46
63
  req.headers['content-type'] = 'application/json; charset=utf-8';
47
64
  }
@@ -50,6 +67,13 @@ function fixPythonContentType(basePath) {
50
67
  };
51
68
  }
52
69
  exports.fixPythonContentType = fixPythonContentType;
70
+ /**
71
+ *
72
+ * @param {import('express').Request} req
73
+ * @param {import('express').Response} res
74
+ * @param {import('express').NextFunction} next
75
+ * @returns {any}
76
+ */
53
77
  function defaultToJSONContentType(req, res, next) {
54
78
  if (!req.headers['content-type']) {
55
79
  req.headers['content-type'] = 'application/json; charset=utf-8';
@@ -57,6 +81,41 @@ function defaultToJSONContentType(req, res, next) {
57
81
  next();
58
82
  }
59
83
  exports.defaultToJSONContentType = defaultToJSONContentType;
84
+ /**
85
+ *
86
+ * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping
87
+ * @returns {import('express').RequestHandler}
88
+ */
89
+ function handleUpgrade(webSocketsMapping) {
90
+ return (req, res, next) => {
91
+ if (!req.headers?.upgrade || lodash_1.default.toLower(req.headers.upgrade) !== 'websocket') {
92
+ return next();
93
+ }
94
+ let currentPathname;
95
+ try {
96
+ currentPathname = new URL(req.url ?? '').pathname;
97
+ }
98
+ catch {
99
+ currentPathname = req.url ?? '';
100
+ }
101
+ for (const [pathname, wsServer] of lodash_1.default.toPairs(webSocketsMapping)) {
102
+ if ((0, path_to_regexp_1.pathToRegexp)(pathname).test(currentPathname)) {
103
+ return wsServer.handleUpgrade(req, req.socket, Buffer.from(''), (ws) => {
104
+ wsServer.emit('connection', ws, req);
105
+ });
106
+ }
107
+ }
108
+ logger_1.default.info(`Did not match the websocket upgrade request at ${currentPathname} to any known route`);
109
+ next();
110
+ };
111
+ }
112
+ exports.handleUpgrade = handleUpgrade;
113
+ /**
114
+ * @param {Error} err
115
+ * @param {import('express').Request} req
116
+ * @param {import('express').Response} res
117
+ * @param {import('express').NextFunction} next
118
+ */
60
119
  function catchAllHandler(err, req, res, next) {
61
120
  if (res.headersSent) {
62
121
  return next(err);
@@ -75,6 +134,10 @@ function catchAllHandler(err, req, res, next) {
75
134
  logger_1.default.error(err);
76
135
  }
77
136
  exports.catchAllHandler = catchAllHandler;
137
+ /**
138
+ * @param {import('express').Request} req
139
+ * @param {import('express').Response} res
140
+ */
78
141
  function catch404Handler(req, res) {
79
142
  logger_1.default.debug(`No route found for ${req.url}`);
80
143
  const error = protocol_1.errors.UnknownCommandError;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../lib/express/middleware.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../lib/express/middleware.js"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ export type ConfigureServerOpts = {
73
73
  allowCors?: boolean | undefined;
74
74
  basePath?: string | undefined;
75
75
  extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<import("@appium/types").Constraints, string, import("@appium/types").StringRecord, import("@appium/types").StringRecord, import("@appium/types").DefaultCreateSessionResult<import("@appium/types").Constraints>, void, import("@appium/types").StringRecord>>> | undefined;
76
+ webSocketsMapping?: import("@appium/types").StringRecord<any> | undefined;
76
77
  };
77
78
  /**
78
79
  *
@@ -84,7 +85,7 @@ export function server(opts: ServerOpts): Promise<AppiumServer>;
84
85
  * Sets up some Express middleware and stuff
85
86
  * @param {ConfigureServerOpts} opts
86
87
  */
87
- export function configureServer({ app, addRoutes, allowCors, basePath, extraMethodMap, }: ConfigureServerOpts): void;
88
+ export function configureServer({ app, addRoutes, allowCors, basePath, extraMethodMap, webSocketsMapping, }: ConfigureServerOpts): void;
88
89
  /**
89
90
  * Normalize base path string
90
91
  * @param {string} basePath