@appium/base-driver 9.3.3 → 9.3.5

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 (91) hide show
  1. package/build/lib/basedriver/capabilities.d.ts +59 -36
  2. package/build/lib/basedriver/capabilities.d.ts.map +1 -1
  3. package/build/lib/basedriver/capabilities.js +57 -45
  4. package/build/lib/basedriver/capabilities.js.map +1 -1
  5. package/build/lib/basedriver/commands/event.d.ts +1 -1
  6. package/build/lib/basedriver/commands/event.d.ts.map +1 -1
  7. package/build/lib/basedriver/commands/event.js.map +1 -1
  8. package/build/lib/basedriver/commands/execute.d.ts +1 -1
  9. package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
  10. package/build/lib/basedriver/commands/execute.js.map +1 -1
  11. package/build/lib/basedriver/commands/find.d.ts +1 -1
  12. package/build/lib/basedriver/commands/find.d.ts.map +1 -1
  13. package/build/lib/basedriver/commands/find.js.map +1 -1
  14. package/build/lib/basedriver/commands/index.d.ts +7 -7
  15. package/build/lib/basedriver/commands/index.d.ts.map +1 -1
  16. package/build/lib/basedriver/commands/index.js +7 -21
  17. package/build/lib/basedriver/commands/index.js.map +1 -1
  18. package/build/lib/basedriver/commands/log.d.ts +1 -1
  19. package/build/lib/basedriver/commands/log.d.ts.map +1 -1
  20. package/build/lib/basedriver/commands/log.js.map +1 -1
  21. package/build/lib/basedriver/commands/mixin.d.ts +4 -4
  22. package/build/lib/basedriver/commands/mixin.d.ts.map +1 -1
  23. package/build/lib/basedriver/commands/mixin.js +5 -4
  24. package/build/lib/basedriver/commands/mixin.js.map +1 -1
  25. package/build/lib/basedriver/commands/session.d.ts +1 -1
  26. package/build/lib/basedriver/commands/session.d.ts.map +1 -1
  27. package/build/lib/basedriver/commands/session.js +1 -4
  28. package/build/lib/basedriver/commands/session.js.map +1 -1
  29. package/build/lib/basedriver/commands/settings.d.ts +1 -1
  30. package/build/lib/basedriver/commands/settings.d.ts.map +1 -1
  31. package/build/lib/basedriver/commands/settings.js.map +1 -1
  32. package/build/lib/basedriver/commands/timeout.d.ts +1 -1
  33. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
  34. package/build/lib/basedriver/commands/timeout.js +1 -4
  35. package/build/lib/basedriver/commands/timeout.js.map +1 -1
  36. package/build/lib/basedriver/core.d.ts +13 -17
  37. package/build/lib/basedriver/core.d.ts.map +1 -1
  38. package/build/lib/basedriver/core.js +32 -20
  39. package/build/lib/basedriver/core.js.map +1 -1
  40. package/build/lib/basedriver/device-settings.d.ts +11 -11
  41. package/build/lib/basedriver/device-settings.d.ts.map +1 -1
  42. package/build/lib/basedriver/device-settings.js +7 -8
  43. package/build/lib/basedriver/device-settings.js.map +1 -1
  44. package/build/lib/basedriver/driver.d.ts +23 -108
  45. package/build/lib/basedriver/driver.d.ts.map +1 -1
  46. package/build/lib/basedriver/driver.js +21 -126
  47. package/build/lib/basedriver/driver.js.map +1 -1
  48. package/build/lib/basedriver/helpers.d.ts +21 -98
  49. package/build/lib/basedriver/helpers.d.ts.map +1 -1
  50. package/build/lib/basedriver/helpers.js +178 -182
  51. package/build/lib/basedriver/helpers.js.map +1 -1
  52. package/build/lib/express/server.d.ts +3 -3
  53. package/build/lib/express/server.d.ts.map +1 -1
  54. package/build/lib/express/server.js +4 -2
  55. package/build/lib/express/server.js.map +1 -1
  56. package/build/lib/express/websocket.d.ts +5 -44
  57. package/build/lib/express/websocket.d.ts.map +1 -1
  58. package/build/lib/express/websocket.js +10 -39
  59. package/build/lib/express/websocket.js.map +1 -1
  60. package/build/lib/helpers/capabilities.d.ts +2 -2
  61. package/build/lib/helpers/capabilities.d.ts.map +1 -1
  62. package/build/lib/helpers/capabilities.js +2 -3
  63. package/build/lib/helpers/capabilities.js.map +1 -1
  64. package/build/lib/protocol/protocol.d.ts +1 -1
  65. package/build/lib/protocol/protocol.d.ts.map +1 -1
  66. package/build/lib/protocol/protocol.js +10 -2
  67. package/build/lib/protocol/protocol.js.map +1 -1
  68. package/build/lib/protocol/routes.d.ts +1 -0
  69. package/build/lib/protocol/routes.d.ts.map +1 -1
  70. package/build/lib/protocol/routes.js +12 -10
  71. package/build/lib/protocol/routes.js.map +1 -1
  72. package/lib/basedriver/capabilities.js +70 -56
  73. package/lib/basedriver/commands/event.ts +3 -2
  74. package/lib/basedriver/commands/execute.ts +2 -1
  75. package/lib/basedriver/commands/find.ts +1 -0
  76. package/lib/basedriver/commands/index.ts +7 -7
  77. package/lib/basedriver/commands/log.ts +2 -4
  78. package/lib/basedriver/commands/mixin.ts +5 -4
  79. package/lib/basedriver/commands/session.ts +9 -7
  80. package/lib/basedriver/commands/settings.ts +1 -0
  81. package/lib/basedriver/commands/timeout.ts +17 -17
  82. package/lib/basedriver/core.js +11 -25
  83. package/lib/basedriver/device-settings.js +9 -11
  84. package/lib/basedriver/{driver.js → driver.ts} +69 -175
  85. package/lib/basedriver/helpers.js +214 -212
  86. package/lib/express/server.js +4 -2
  87. package/lib/express/websocket.js +10 -39
  88. package/lib/helpers/capabilities.js +2 -3
  89. package/lib/protocol/protocol.js +11 -2
  90. package/lib/protocol/routes.js +12 -13
  91. package/package.json +10 -6
@@ -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.generateDriverLogPrefix = exports.parseCapsArray = exports.duplicateKeys = exports.isPackageOrBundle = exports.configureApp = void 0;
6
+ exports.BASEDRIVER_VER = exports.generateDriverLogPrefix = exports.parseCapsArray = exports.duplicateKeys = exports.isPackageOrBundle = exports.configureApp = 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"));
@@ -12,11 +12,20 @@ const support_1 = require("@appium/support");
12
12
  const lru_cache_1 = __importDefault(require("lru-cache"));
13
13
  const async_lock_1 = __importDefault(require("async-lock"));
14
14
  const axios_1 = __importDefault(require("axios"));
15
+ const bluebird_1 = __importDefault(require("bluebird"));
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;
15
19
  const IPA_EXT = '.ipa';
16
- const ZIP_EXTS = ['.zip', IPA_EXT];
20
+ const ZIP_EXTS = new Set(['.zip', IPA_EXT]);
17
21
  const ZIP_MIME_TYPES = ['application/zip', 'application/x-zip-compressed', 'multipart/x-zip'];
18
22
  const CACHED_APPS_MAX_AGE = 1000 * 60 * 60 * 24; // ms
19
23
  const MAX_CACHED_APPS = 1024;
24
+ const HTTP_STATUS_NOT_MODIFIED = 304;
25
+ const DEFAULT_REQ_HEADERS = Object.freeze({
26
+ 'user-agent': `Appium (BaseDriver v${BASEDRIVER_VER})`,
27
+ });
28
+ const AVG_DOWNLOAD_SPEED_MEASUREMENT_THRESHOLD_SEC = 2;
20
29
  const APPLICATIONS_CACHE = new lru_cache_1.default({
21
30
  max: MAX_CACHED_APPS,
22
31
  ttl: CACHED_APPS_MAX_AGE,
@@ -51,65 +60,6 @@ process.on('exit', () => {
51
60
  }
52
61
  }
53
62
  });
54
- /**
55
- *
56
- * @param {string} url
57
- * @returns {Promise<import('axios').AxiosResponse['headers']>}
58
- */
59
- async function retrieveHeaders(url) {
60
- try {
61
- return (await (0, axios_1.default)({
62
- url,
63
- method: 'HEAD',
64
- timeout: 5000,
65
- })).headers;
66
- }
67
- catch (e) {
68
- logger_1.default.info(`Cannot send HEAD request to '${url}'. Original error: ${e.message}`);
69
- }
70
- return {};
71
- }
72
- function getCachedApplicationPath(link, currentAppProps = {}, cachedAppInfo = {}) {
73
- const refresh = () => {
74
- logger_1.default.debug(`A fresh copy of the application is going to be downloaded from ${link}`);
75
- return null;
76
- };
77
- if (!lodash_1.default.isPlainObject(cachedAppInfo) || !lodash_1.default.isPlainObject(currentAppProps)) {
78
- // if an invalid arg is passed then assume cache miss
79
- return refresh();
80
- }
81
- const { lastModified: currentModified, immutable: currentImmutable,
82
- // maxAge is in seconds
83
- maxAge: currentMaxAge, } = currentAppProps;
84
- const {
85
- // Date instance
86
- lastModified,
87
- // boolean
88
- immutable,
89
- // Unix time in milliseconds
90
- timestamp, fullPath, } = cachedAppInfo;
91
- if (lastModified && currentModified) {
92
- if (currentModified.getTime() <= lastModified.getTime()) {
93
- logger_1.default.debug(`The application at ${link} has not been modified since ${lastModified}`);
94
- return fullPath;
95
- }
96
- logger_1.default.debug(`The application at ${link} has been modified since ${lastModified}`);
97
- return refresh();
98
- }
99
- if (immutable && currentImmutable) {
100
- logger_1.default.debug(`The application at ${link} is immutable`);
101
- return fullPath;
102
- }
103
- if (currentMaxAge && timestamp) {
104
- const msLeft = timestamp + currentMaxAge * 1000 - Date.now();
105
- if (msLeft > 0) {
106
- logger_1.default.debug(`The cached application '${path_1.default.basename(fullPath)}' will expire in ${msLeft / 1000}s`);
107
- return fullPath;
108
- }
109
- logger_1.default.debug(`The cached application '${path_1.default.basename(fullPath)}' has expired`);
110
- }
111
- return refresh();
112
- }
113
63
  function verifyAppExtension(app, supportedAppExtensions) {
114
64
  if (supportedAppExtensions.map(lodash_1.default.toLower).includes(lodash_1.default.toLower(path_1.default.extname(app)))) {
115
65
  return app;
@@ -140,53 +90,11 @@ async function isAppIntegrityOk(currentPath, expectedIntegrity = {}) {
140
90
  : (await calculateFileIntegrity(currentPath)) === expectedIntegrity?.file;
141
91
  }
142
92
  /**
143
- * @typedef PostProcessOptions
144
- * @property {?Object} cachedAppInfo The information about the previously cached app instance (if exists):
145
- * - packageHash: SHA1 hash of the package if it is a file and not a folder
146
- * - lastModified: Optional Date instance, the value of file's `Last-Modified` header
147
- * - immutable: Optional boolean value. Contains true if the file has an `immutable` mark
148
- * in `Cache-control` header
149
- * - maxAge: Optional integer representation of `maxAge` parameter in `Cache-control` header
150
- * - timestamp: The timestamp this item has been added to the cache (measured in Unix epoch
151
- * milliseconds)
152
- * - integrity: An object containing either `file` property with SHA1 hash of the file
153
- * or `folder` property with total amount of cached files and subfolders
154
- * - fullPath: the full path to the cached app
155
- * @property {boolean} isUrl Whether the app has been downloaded from a remote URL
156
- * @property {?Object} headers Optional headers object. Only present if `isUrl` is true and if the server
157
- * responds to HEAD requests. All header names are normalized to lowercase.
158
- * @property {string} appPath A string containing full path to the preprocessed application package (either
159
- * downloaded or a local one)
160
- */
161
- /**
162
- * @typedef PostProcessResult
163
- * @property {string} appPath The full past to the post-processed application package on the
164
- * local file system (might be a file or a folder path)
165
- */
166
- /**
167
- * @typedef ConfigureAppOptions
168
- * @property {(obj: PostProcessOptions) => (Promise<PostProcessResult|undefined>|PostProcessResult|undefined)} [onPostProcess]
169
- * Optional function, which should be applied
170
- * to the application after it is downloaded/preprocessed. This function may be async
171
- * and is expected to accept single object parameter.
172
- * The function is expected to either return a falsy value, which means the app must not be
173
- * cached and a fresh copy of it is downloaded each time. If this function returns an object
174
- * containing `appPath` property then the integrity of it will be verified and stored into
175
- * the cache.
176
- * @property {string[]} supportedExtensions List of supported application extensions (
177
- * including starting dots). This property is mandatory and must not be empty.
178
- */
179
- /**
180
- * Prepares an app to be used in an automated test. The app gets cached automatically
181
- * if it is an archive or if it is downloaded from an URL.
182
- * If the downloaded app has `.zip` extension, this method will unzip it.
183
- * The unzip does not work when `onPostProcess` is provided.
184
93
  *
185
- * @param {string} app Either a full path to the app or a remote URL
186
- * @param {string|string[]|ConfigureAppOptions} options
187
- * @returns The full path to the resulting application bundle
94
+ * @param {string} app
95
+ * @param {string|string[]|import('@appium/types').ConfigureAppOptions} options
188
96
  */
189
- async function configureApp(app, options = /** @type {ConfigureAppOptions} */ ({})) {
97
+ async function configureApp(app, options = /** @type {import('@appium/types').ConfigureAppOptions} */ ({})) {
190
98
  if (!lodash_1.default.isString(app)) {
191
99
  // immediately shortcircuit if not given an app
192
100
  return;
@@ -208,13 +116,14 @@ async function configureApp(app, options = /** @type {ConfigureAppOptions} */ ({
208
116
  let newApp = app;
209
117
  let shouldUnzipApp = false;
210
118
  let packageHash = null;
211
- /** @type {import('axios').AxiosResponse['headers']?} */
212
- let headers = null;
119
+ /** @type {import('axios').AxiosResponse['headers']|undefined} */
120
+ let headers = undefined;
213
121
  /** @type {RemoteAppProps} */
214
122
  const remoteAppProps = {
215
123
  lastModified: null,
216
124
  immutable: false,
217
125
  maxAge: null,
126
+ etag: null,
218
127
  };
219
128
  const { protocol, pathname } = url_1.default.parse(newApp);
220
129
  const isUrl = protocol === null ? false : ['http:', 'https:'].includes(protocol);
@@ -223,86 +132,109 @@ async function configureApp(app, options = /** @type {ConfigureAppOptions} */ ({
223
132
  if (isUrl) {
224
133
  // Use the app from remote URL
225
134
  logger_1.default.info(`Using downloadable app '${newApp}'`);
226
- headers = await retrieveHeaders(newApp);
227
- if (!lodash_1.default.isEmpty(headers)) {
228
- if (headers['last-modified']) {
229
- remoteAppProps.lastModified = new Date(headers['last-modified']);
135
+ const reqHeaders = {
136
+ ...DEFAULT_REQ_HEADERS,
137
+ };
138
+ if (cachedAppInfo?.etag) {
139
+ reqHeaders['if-none-match'] = remoteAppProps.etag;
140
+ }
141
+ else if (cachedAppInfo?.lastModified) {
142
+ reqHeaders['if-modified-since'] = remoteAppProps.lastModified?.toString();
143
+ }
144
+ let { headers, stream, status } = await queryAppLink(newApp, reqHeaders);
145
+ try {
146
+ if (!lodash_1.default.isEmpty(headers)) {
147
+ logger_1.default.debug(`Etag: ${remoteAppProps?.etag} -> ${headers.etag}`);
148
+ if (headers.etag) {
149
+ remoteAppProps.etag = headers.etag;
150
+ }
151
+ logger_1.default.debug(`Last-Modified: ${remoteAppProps?.['last-modified']} -> ${headers['last-modified']}`);
152
+ if (headers['last-modified']) {
153
+ remoteAppProps.lastModified = new Date(headers['last-modified']);
154
+ }
155
+ logger_1.default.debug(`Cache-Control: ${remoteAppProps?.['cache-control']} -> ${headers['cache-control']}`);
156
+ if (headers['cache-control']) {
157
+ remoteAppProps.immutable = /\bimmutable\b/i.test(headers['cache-control']);
158
+ const maxAgeMatch = /\bmax-age=(\d+)\b/i.exec(headers['cache-control']);
159
+ if (maxAgeMatch) {
160
+ remoteAppProps.maxAge = parseInt(maxAgeMatch[1], 10);
161
+ }
162
+ }
230
163
  }
231
- logger_1.default.debug(`Last-Modified: ${headers['last-modified']}`);
232
- if (headers['cache-control']) {
233
- remoteAppProps.immutable = /\bimmutable\b/i.test(headers['cache-control']);
234
- const maxAgeMatch = /\bmax-age=(\d+)\b/i.exec(headers['cache-control']);
235
- if (maxAgeMatch) {
236
- remoteAppProps.maxAge = parseInt(maxAgeMatch[1], 10);
164
+ if (cachedAppInfo && status === HTTP_STATUS_NOT_MODIFIED) {
165
+ if (await isAppIntegrityOk(cachedAppInfo.fullPath, cachedAppInfo.integrity)) {
166
+ logger_1.default.info(`Reusing previously downloaded application at '${cachedAppInfo.fullPath}'`);
167
+ return verifyAppExtension(cachedAppInfo.fullPath, supportedAppExtensions);
168
+ }
169
+ logger_1.default.info(`The application at '${cachedAppInfo.fullPath}' does not exist anymore ` +
170
+ `or its integrity has been damaged. Deleting it from the internal cache`);
171
+ APPLICATIONS_CACHE.delete(app);
172
+ if (!stream.closed) {
173
+ stream.destroy();
237
174
  }
175
+ ({ stream, headers, status } = await queryAppLink(newApp, { ...DEFAULT_REQ_HEADERS }));
238
176
  }
239
- logger_1.default.debug(`Cache-Control: ${headers['cache-control']}`);
240
- }
241
- const cachedPath = getCachedApplicationPath(app, remoteAppProps, cachedAppInfo);
242
- if (cachedPath) {
243
- if (await isAppIntegrityOk(cachedPath, cachedAppInfo?.integrity)) {
244
- logger_1.default.info(`Reusing previously downloaded application at '${cachedPath}'`);
245
- return verifyAppExtension(cachedPath, supportedAppExtensions);
177
+ let fileName = null;
178
+ const basename = support_1.fs.sanitizeName(path_1.default.basename(decodeURIComponent(pathname ?? '')), {
179
+ replacement: SANITIZE_REPLACEMENT,
180
+ });
181
+ const extname = path_1.default.extname(basename);
182
+ // to determine if we need to unzip the app, we have a number of places
183
+ // to look: content type, content disposition, or the file extension
184
+ if (ZIP_EXTS.has(extname)) {
185
+ fileName = basename;
186
+ shouldUnzipApp = true;
246
187
  }
247
- logger_1.default.info(`The application at '${cachedPath}' does not exist anymore ` +
248
- `or its integrity has been damaged. Deleting it from the internal cache`);
249
- APPLICATIONS_CACHE.delete(app);
250
- }
251
- let fileName = null;
252
- const basename = support_1.fs.sanitizeName(path_1.default.basename(decodeURIComponent(pathname ?? '')), {
253
- replacement: SANITIZE_REPLACEMENT,
254
- });
255
- const extname = path_1.default.extname(basename);
256
- // to determine if we need to unzip the app, we have a number of places
257
- // to look: content type, content disposition, or the file extension
258
- if (ZIP_EXTS.includes(extname)) {
259
- fileName = basename;
260
- shouldUnzipApp = true;
261
- }
262
- if (headers['content-type']) {
263
- const ct = headers['content-type'];
264
- logger_1.default.debug(`Content-Type: ${ct}`);
265
- // the filetype may not be obvious for certain urls, so check the mime type too
266
- if (ZIP_MIME_TYPES.some((mimeType) => new RegExp(`\\b${lodash_1.default.escapeRegExp(mimeType)}\\b`).test(ct))) {
267
- if (!fileName) {
268
- fileName = `${DEFAULT_BASENAME}.zip`;
188
+ if (headers['content-type']) {
189
+ const ct = headers['content-type'];
190
+ logger_1.default.debug(`Content-Type: ${ct}`);
191
+ // the filetype may not be obvious for certain urls, so check the mime type too
192
+ if (ZIP_MIME_TYPES.some((mimeType) => new RegExp(`\\b${lodash_1.default.escapeRegExp(mimeType)}\\b`).test(ct))) {
193
+ if (!fileName) {
194
+ fileName = `${DEFAULT_BASENAME}.zip`;
195
+ }
196
+ shouldUnzipApp = true;
269
197
  }
270
- shouldUnzipApp = true;
271
198
  }
272
- }
273
- if (headers['content-disposition'] && /^attachment/i.test(headers['content-disposition'])) {
274
- logger_1.default.debug(`Content-Disposition: ${headers['content-disposition']}`);
275
- const match = /filename="([^"]+)/i.exec(headers['content-disposition']);
276
- if (match) {
277
- fileName = support_1.fs.sanitizeName(match[1], {
278
- replacement: SANITIZE_REPLACEMENT,
279
- });
280
- shouldUnzipApp = shouldUnzipApp || ZIP_EXTS.includes(path_1.default.extname(fileName));
199
+ if (headers['content-disposition'] && /^attachment/i.test(headers['content-disposition'])) {
200
+ logger_1.default.debug(`Content-Disposition: ${headers['content-disposition']}`);
201
+ const match = /filename="([^"]+)/i.exec(headers['content-disposition']);
202
+ if (match) {
203
+ fileName = support_1.fs.sanitizeName(match[1], {
204
+ replacement: SANITIZE_REPLACEMENT,
205
+ });
206
+ shouldUnzipApp = shouldUnzipApp || ZIP_EXTS.has(path_1.default.extname(fileName));
207
+ }
281
208
  }
209
+ if (!fileName) {
210
+ // assign the default file name and the extension if none has been detected
211
+ const resultingName = basename
212
+ ? basename.substring(0, basename.length - extname.length)
213
+ : DEFAULT_BASENAME;
214
+ let resultingExt = extname;
215
+ if (!supportedAppExtensions.includes(resultingExt)) {
216
+ logger_1.default.info(`The current file extension '${resultingExt}' is not supported. ` +
217
+ `Defaulting to '${lodash_1.default.first(supportedAppExtensions)}'`);
218
+ resultingExt = /** @type {string} */ (lodash_1.default.first(supportedAppExtensions));
219
+ }
220
+ fileName = `${resultingName}${resultingExt}`;
221
+ }
222
+ const targetPath = await support_1.tempDir.path({
223
+ prefix: fileName,
224
+ suffix: '',
225
+ });
226
+ newApp = await fetchApp(stream, targetPath);
282
227
  }
283
- if (!fileName) {
284
- // assign the default file name and the extension if none has been detected
285
- const resultingName = basename
286
- ? basename.substring(0, basename.length - extname.length)
287
- : DEFAULT_BASENAME;
288
- let resultingExt = extname;
289
- if (!supportedAppExtensions.includes(resultingExt)) {
290
- logger_1.default.info(`The current file extension '${resultingExt}' is not supported. ` +
291
- `Defaulting to '${lodash_1.default.first(supportedAppExtensions)}'`);
292
- resultingExt = /** @type {string} */ (lodash_1.default.first(supportedAppExtensions));
228
+ finally {
229
+ if (!stream.closed) {
230
+ stream.destroy();
293
231
  }
294
- fileName = `${resultingName}${resultingExt}`;
295
232
  }
296
- const targetPath = await support_1.tempDir.path({
297
- prefix: fileName,
298
- suffix: '',
299
- });
300
- newApp = await downloadApp(newApp, targetPath);
301
233
  }
302
234
  else if (await support_1.fs.exists(newApp)) {
303
235
  // Use the local app
304
236
  logger_1.default.info(`Using local app '${newApp}'`);
305
- shouldUnzipApp = ZIP_EXTS.includes(path_1.default.extname(newApp));
237
+ shouldUnzipApp = ZIP_EXTS.has(path_1.default.extname(newApp));
306
238
  }
307
239
  else {
308
240
  let errorMessage = `The application at '${newApp}' does not exist or is not accessible`;
@@ -372,12 +304,13 @@ async function configureApp(app, options = /** @type {ConfigureAppOptions} */ ({
372
304
  return appPathToCache;
373
305
  };
374
306
  if (lodash_1.default.isFunction(onPostProcess)) {
375
- const result = await onPostProcess({
307
+ const result = await onPostProcess(
308
+ /** @type {import('@appium/types').PostProcessOptions<import('axios').AxiosResponseHeaders>} */ ({
376
309
  cachedAppInfo: lodash_1.default.clone(cachedAppInfo),
377
310
  isUrl,
378
311
  headers: lodash_1.default.clone(headers),
379
312
  appPath: newApp,
380
- });
313
+ }));
381
314
  return !result?.appPath || app === result?.appPath || !(await support_1.fs.exists(result?.appPath))
382
315
  ? newApp
383
316
  : await storeAppInCache(result.appPath);
@@ -389,17 +322,73 @@ async function configureApp(app, options = /** @type {ConfigureAppOptions} */ ({
389
322
  });
390
323
  }
391
324
  exports.configureApp = configureApp;
392
- async function downloadApp(app, targetPath) {
393
- const { href } = url_1.default.parse(app);
325
+ /**
326
+ * Sends a HTTP GET query to fetch the app with caching enabled.
327
+ * Follows https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching
328
+ *
329
+ * @param {string} appLink The URL to download an app from
330
+ * @param {import('axios').RawAxiosRequestHeaders} reqHeaders Additional HTTP request headers
331
+ * @returns {Promise<RemoteAppData>}
332
+ */
333
+ async function queryAppLink(appLink, reqHeaders) {
334
+ const { href } = url_1.default.parse(appLink);
335
+ /**
336
+ * @type {import('axios').RawAxiosRequestConfig}
337
+ */
338
+ const requestOpts = {
339
+ url: href,
340
+ responseType: 'stream',
341
+ timeout: APP_DOWNLOAD_TIMEOUT_MS,
342
+ validateStatus: (status) => (status >= 200 && status < 300) || status === HTTP_STATUS_NOT_MODIFIED,
343
+ headers: reqHeaders,
344
+ };
394
345
  try {
395
- await support_1.net.downloadFile(href, targetPath, {
396
- timeout: APP_DOWNLOAD_TIMEOUT_MS,
346
+ const { data: stream, headers, status } = await (0, axios_1.default)(requestOpts);
347
+ return {
348
+ stream,
349
+ headers,
350
+ status,
351
+ };
352
+ }
353
+ catch (err) {
354
+ throw new Error(`Cannot download the app from ${href}: ${err.message}`);
355
+ }
356
+ }
357
+ /**
358
+ * Retrieves app payload from the given stream. Also meters the download performance.
359
+ *
360
+ * @param {import('stream').Readable} srcStream The incoming stream
361
+ * @param {string} dstPath The target file path to be written
362
+ * @returns {Promise<string>} The same dstPath
363
+ * @throws {Error} If there was a failure while downloading the file
364
+ */
365
+ async function fetchApp(srcStream, dstPath) {
366
+ const timer = new support_1.timing.Timer().start();
367
+ try {
368
+ const writer = support_1.fs.createWriteStream(dstPath);
369
+ srcStream.pipe(writer);
370
+ await new bluebird_1.default((resolve, reject) => {
371
+ srcStream.once('error', reject);
372
+ writer.once('finish', resolve);
373
+ writer.once('error', (e) => {
374
+ srcStream.unpipe(writer);
375
+ reject(e);
376
+ });
397
377
  });
398
378
  }
399
379
  catch (err) {
400
- throw new Error(`Unable to download the app: ${err.message}`);
380
+ throw new Error(`Cannot fetch the application: ${err.message}`);
401
381
  }
402
- return targetPath;
382
+ const secondsElapsed = timer.getDuration().asSeconds;
383
+ const { size } = await support_1.fs.stat(dstPath);
384
+ logger_1.default.debug(`The application (${support_1.util.toReadableSizeString(size)}) ` +
385
+ `has been downloaded to '${dstPath}' in ${secondsElapsed.toFixed(3)}s`);
386
+ // it does not make much sense to approximate the speed for short downloads
387
+ if (secondsElapsed >= AVG_DOWNLOAD_SPEED_MEASUREMENT_THRESHOLD_SEC) {
388
+ const bytesPerSec = Math.floor(size / secondsElapsed);
389
+ logger_1.default.debug(`Approximate download speed: ${support_1.util.toReadableSizeString(bytesPerSec)}/s`);
390
+ }
391
+ return dstPath;
403
392
  }
404
393
  /**
405
394
  * Extracts the bundle from an archive into the given folder
@@ -553,5 +542,12 @@ exports.default = {
553
542
  * @property {Date?} lastModified
554
543
  * @property {boolean} immutable
555
544
  * @property {number?} maxAge
545
+ * @property {string?} etag
546
+ */
547
+ /**
548
+ * @typedef RemoteAppData Properties of the remote application (e.g. GET HTTP response) to be downloaded.
549
+ * @property {number} status The HTTP status of the response
550
+ * @property {import('stream').Readable} stream The HTTP response body represented as readable stream
551
+ * @property {import('axios').RawAxiosResponseHeaders | import('axios').AxiosResponseHeaders} headers HTTP response headers
556
552
  */
557
553
  //# sourceMappingURL=helpers.js.map
@@ -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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"}
@@ -49,7 +49,7 @@ export type ServerOpts = {
49
49
  hostname?: string | undefined;
50
50
  allowCors?: boolean | undefined;
51
51
  basePath?: string | undefined;
52
- extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<Readonly<Record<string, import("@appium/types").Constraint>>>>> | undefined;
52
+ extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<import("@appium/types").Constraints, string>>> | undefined;
53
53
  serverUpdaters?: import("@appium/types").UpdateServerCallback[] | undefined;
54
54
  keepAliveTimeout?: number | undefined;
55
55
  };
@@ -62,7 +62,7 @@ export type RouteConfiguringFunction = (app: import('express').Express, opts?: R
62
62
  */
63
63
  export type RouteConfiguringFunctionOpts = {
64
64
  basePath?: string | undefined;
65
- extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<Readonly<Record<string, import("@appium/types").Constraint>>>>> | undefined;
65
+ extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<import("@appium/types").Constraints, string>>> | undefined;
66
66
  };
67
67
  /**
68
68
  * Options for {@linkcode configureServer }
@@ -72,7 +72,7 @@ export type ConfigureServerOpts = {
72
72
  addRoutes: RouteConfiguringFunction;
73
73
  allowCors?: boolean | undefined;
74
74
  basePath?: string | undefined;
75
- extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<Readonly<Record<string, import("@appium/types").Constraint>>>>> | undefined;
75
+ extraMethodMap?: Readonly<import("@appium/types").DriverMethodMap<import("@appium/types").ExternalDriver<import("@appium/types").Constraints, string>>> | undefined;
76
76
  };
77
77
  /**
78
78
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":";;;;;;;gBA8Qc,OAAO,MAAM,EAAE,MAAM;;;;UACrB,MAAM;;;;sBACN,MAAM;;;;;;2BAKP,OAAO,eAAe,EAAE,YAAY;iCACpC,OAAO,eAAe,EAAE,kBAAkB;wBAI1C,OAAO,eAAe,EAAE,SAAS,CAAC,OAAO,eAAe,EAAE,cAAc,CAAC;;;;;;;;gBAMxE,OAAO,MAAM,EAAE,MAAM;;;;qBACZ,GAAG,KAAK,IAAI;;;;sBACrB,MAAM;;;;;;8BAMN,wBAAwB;UACxB,MAAM;;;;;;;;;;;;6CAaT,OAAO,SAAS,EAAE,OAAO,sDAEvB,IAAI;;;;;;;;;;;;SAaH,OAAO,SAAS,EAAE,OAAO;eACzB,wBAAwB;;;;;AAtStC;;;;GAIG;AACH,6BAHW,UAAU,GACR,QAAQ,YAAY,CAAC,CAsDjC;AAED;;;GAGG;AACH,0FAFW,mBAAmB,QA+C7B;AAsGD;;;;GAIG;AACH,4CAHW,MAAM,GACJ,MAAM,CAkBlB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":";;;;;;;gBAgRc,OAAO,MAAM,EAAE,MAAM;;;;UACrB,MAAM;;;;sBACN,MAAM;;;;;;2BAKP,OAAO,eAAe,EAAE,YAAY;iCACpC,OAAO,eAAe,EAAE,kBAAkB;wBAI1C,OAAO,eAAe,EAAE,SAAS,CAAC,OAAO,eAAe,EAAE,cAAc,CAAC;;;;;;;;gBAMxE,OAAO,MAAM,EAAE,MAAM;;;;qBACZ,GAAG,KAAK,IAAI;;;;sBACrB,MAAM;;;;;;8BAMN,wBAAwB;UACxB,MAAM;;;;;;;;;;;;6CAaT,OAAO,SAAS,EAAE,OAAO,sDAEvB,IAAI;;;;;;;;;;;;SAaH,OAAO,SAAS,EAAE,OAAO;eACzB,wBAAwB;;;;;AAxStC;;;;GAIG;AACH,6BAHW,UAAU,GACR,QAAQ,YAAY,CAAC,CAsDjC;AAED;;;GAGG;AACH,0FAFW,mBAAmB,QA+C7B;AAwGD;;;;GAIG;AACH,4CAHW,MAAM,GACJ,MAAM,CAkBlB"}
@@ -116,8 +116,10 @@ function configureHttp({ httpServer, reject, keepAliveTimeout }) {
116
116
  notifier: new events_1.EventEmitter(),
117
117
  closed: false,
118
118
  };
119
- // TS does not love monkeypatching.
120
- const appiumServer = /** @type {AppiumServer} */ ( /** @type {unknown} */(httpServer));
119
+ /**
120
+ * @type {AppiumServer}
121
+ */
122
+ const appiumServer = /** @type {any} */ (httpServer);
121
123
  appiumServer.addWebSocketHandler = websocket_1.addWebSocketHandler;
122
124
  appiumServer.removeWebSocketHandler = websocket_1.removeWebSocketHandler;
123
125
  appiumServer.removeAllWebSocketHandlers = websocket_1.removeAllWebSocketHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":"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"}