@appium/base-driver 10.2.0 → 10.2.2

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 (138) hide show
  1. package/LICENSE +201 -0
  2. package/build/lib/basedriver/capabilities.js +7 -7
  3. package/build/lib/basedriver/capabilities.js.map +1 -1
  4. package/build/lib/basedriver/commands/event.d.ts +1 -1
  5. package/build/lib/basedriver/commands/event.d.ts.map +1 -1
  6. package/build/lib/basedriver/commands/execute.d.ts +1 -1
  7. package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
  8. package/build/lib/basedriver/commands/find.d.ts +1 -1
  9. package/build/lib/basedriver/commands/find.d.ts.map +1 -1
  10. package/build/lib/basedriver/commands/mixin.d.ts +1 -1
  11. package/build/lib/basedriver/commands/mixin.d.ts.map +1 -1
  12. package/build/lib/basedriver/commands/timeout.d.ts +1 -1
  13. package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
  14. package/build/lib/basedriver/device-settings.d.ts +14 -23
  15. package/build/lib/basedriver/device-settings.d.ts.map +1 -1
  16. package/build/lib/basedriver/device-settings.js +11 -26
  17. package/build/lib/basedriver/device-settings.js.map +1 -1
  18. package/build/lib/basedriver/helpers.d.ts +36 -57
  19. package/build/lib/basedriver/helpers.d.ts.map +1 -1
  20. package/build/lib/basedriver/helpers.js +148 -239
  21. package/build/lib/basedriver/helpers.js.map +1 -1
  22. package/build/lib/basedriver/logger.d.ts +1 -2
  23. package/build/lib/basedriver/logger.d.ts.map +1 -1
  24. package/build/lib/basedriver/logger.js +2 -2
  25. package/build/lib/basedriver/logger.js.map +1 -1
  26. package/build/lib/basedriver/validation.d.ts.map +1 -1
  27. package/build/lib/basedriver/validation.js +3 -3
  28. package/build/lib/basedriver/validation.js.map +1 -1
  29. package/build/lib/constants.d.ts +1 -1
  30. package/build/lib/constants.d.ts.map +1 -1
  31. package/build/lib/express/crash.d.ts +8 -2
  32. package/build/lib/express/crash.d.ts.map +1 -1
  33. package/build/lib/express/crash.js +6 -0
  34. package/build/lib/express/crash.js.map +1 -1
  35. package/build/lib/express/express-logging.d.ts +12 -2
  36. package/build/lib/express/express-logging.d.ts.map +1 -1
  37. package/build/lib/express/express-logging.js +34 -26
  38. package/build/lib/express/express-logging.js.map +1 -1
  39. package/build/lib/express/idempotency.d.ts +4 -10
  40. package/build/lib/express/idempotency.d.ts.map +1 -1
  41. package/build/lib/express/idempotency.js +69 -73
  42. package/build/lib/express/idempotency.js.map +1 -1
  43. package/build/lib/express/logger.d.ts +1 -2
  44. package/build/lib/express/logger.d.ts.map +1 -1
  45. package/build/lib/express/logger.js +2 -2
  46. package/build/lib/express/logger.js.map +1 -1
  47. package/build/lib/express/middleware.d.ts +37 -41
  48. package/build/lib/express/middleware.d.ts.map +1 -1
  49. package/build/lib/express/middleware.js +48 -60
  50. package/build/lib/express/middleware.js.map +1 -1
  51. package/build/lib/express/server.d.ts +57 -101
  52. package/build/lib/express/server.d.ts.map +1 -1
  53. package/build/lib/express/server.js +51 -128
  54. package/build/lib/express/server.js.map +1 -1
  55. package/build/lib/express/static.d.ts +10 -5
  56. package/build/lib/express/static.d.ts.map +1 -1
  57. package/build/lib/express/static.js +32 -42
  58. package/build/lib/express/static.js.map +1 -1
  59. package/build/lib/express/websocket.d.ts +22 -6
  60. package/build/lib/express/websocket.d.ts.map +1 -1
  61. package/build/lib/express/websocket.js +10 -15
  62. package/build/lib/express/websocket.js.map +1 -1
  63. package/build/lib/helpers/capabilities.d.ts +4 -16
  64. package/build/lib/helpers/capabilities.d.ts.map +1 -1
  65. package/build/lib/helpers/capabilities.js +36 -48
  66. package/build/lib/helpers/capabilities.js.map +1 -1
  67. package/build/lib/jsonwp-proxy/protocol-converter.d.ts +42 -78
  68. package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
  69. package/build/lib/jsonwp-proxy/protocol-converter.js +87 -139
  70. package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
  71. package/build/lib/jsonwp-proxy/proxy.d.ts +1 -1
  72. package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
  73. package/build/lib/jsonwp-proxy/proxy.js +2 -2
  74. package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
  75. package/build/lib/jsonwp-status/status.d.ts +113 -158
  76. package/build/lib/jsonwp-status/status.d.ts.map +1 -1
  77. package/build/lib/jsonwp-status/status.js +10 -14
  78. package/build/lib/jsonwp-status/status.js.map +1 -1
  79. package/build/lib/protocol/bidi-commands.d.ts +31 -36
  80. package/build/lib/protocol/bidi-commands.d.ts.map +1 -1
  81. package/build/lib/protocol/bidi-commands.js +5 -5
  82. package/build/lib/protocol/bidi-commands.js.map +1 -1
  83. package/build/lib/protocol/errors.d.ts.map +1 -1
  84. package/build/lib/protocol/helpers.d.ts +7 -11
  85. package/build/lib/protocol/helpers.d.ts.map +1 -1
  86. package/build/lib/protocol/helpers.js +5 -9
  87. package/build/lib/protocol/helpers.js.map +1 -1
  88. package/build/lib/protocol/index.d.ts +4 -21
  89. package/build/lib/protocol/index.d.ts.map +1 -1
  90. package/build/lib/protocol/index.js.map +1 -1
  91. package/build/lib/protocol/protocol.d.ts +15 -1
  92. package/build/lib/protocol/protocol.d.ts.map +1 -1
  93. package/build/lib/protocol/protocol.js +50 -20
  94. package/build/lib/protocol/protocol.js.map +1 -1
  95. package/build/lib/protocol/routes.d.ts +8 -15
  96. package/build/lib/protocol/routes.d.ts.map +1 -1
  97. package/build/lib/protocol/routes.js +18 -33
  98. package/build/lib/protocol/routes.js.map +1 -1
  99. package/lib/basedriver/capabilities.ts +1 -1
  100. package/lib/basedriver/commands/event.ts +2 -2
  101. package/lib/basedriver/commands/execute.ts +2 -2
  102. package/lib/basedriver/commands/find.ts +2 -2
  103. package/lib/basedriver/commands/mixin.ts +1 -1
  104. package/lib/basedriver/commands/timeout.ts +2 -2
  105. package/lib/basedriver/{device-settings.js → device-settings.ts} +24 -35
  106. package/lib/basedriver/{helpers.js → helpers.ts} +208 -266
  107. package/lib/basedriver/logger.ts +3 -0
  108. package/lib/basedriver/validation.ts +2 -2
  109. package/lib/constants.ts +1 -1
  110. package/lib/express/crash.ts +15 -0
  111. package/lib/express/express-logging.ts +84 -0
  112. package/lib/express/{idempotency.js → idempotency.ts} +105 -89
  113. package/lib/express/logger.ts +3 -0
  114. package/lib/express/middleware.ts +187 -0
  115. package/lib/express/{server.js → server.ts} +175 -167
  116. package/lib/express/static.ts +77 -0
  117. package/lib/express/websocket.ts +81 -0
  118. package/lib/helpers/capabilities.ts +83 -0
  119. package/lib/jsonwp-proxy/protocol-converter.ts +284 -0
  120. package/lib/jsonwp-proxy/proxy.js +1 -1
  121. package/lib/jsonwp-status/{status.js → status.ts} +12 -15
  122. package/lib/protocol/{bidi-commands.js → bidi-commands.ts} +7 -5
  123. package/lib/protocol/errors.ts +1 -1
  124. package/lib/protocol/{helpers.js → helpers.ts} +8 -11
  125. package/lib/protocol/protocol.ts +57 -26
  126. package/lib/protocol/{routes.js → routes.ts} +29 -40
  127. package/package.json +11 -11
  128. package/tsconfig.json +3 -1
  129. package/lib/basedriver/logger.js +0 -4
  130. package/lib/express/crash.js +0 -11
  131. package/lib/express/express-logging.js +0 -60
  132. package/lib/express/logger.js +0 -4
  133. package/lib/express/middleware.js +0 -171
  134. package/lib/express/static.js +0 -76
  135. package/lib/express/websocket.js +0 -79
  136. package/lib/helpers/capabilities.js +0 -93
  137. package/lib/jsonwp-proxy/protocol-converter.js +0 -317
  138. /package/lib/protocol/{index.js → index.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../../lib/express/idempotency.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../../lib/express/idempotency.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export default log;
2
- declare const log: import("../../../types/build/lib").AppiumLogger;
1
+ export declare const log: import("../../../types/build/lib").AppiumLogger;
3
2
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../lib/express/logger.js"],"names":[],"mappings":";AAEA,mEAAqC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../lib/express/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG,iDAA2B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log = void 0;
3
4
  const support_1 = require("@appium/support");
4
- const log = support_1.logger.getLogger('HTTP');
5
- exports.default = log;
5
+ exports.log = support_1.logger.getLogger('HTTP');
6
6
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/express/logger.js"],"names":[],"mappings":";;AAAA,6CAAuC;AAEvC,MAAM,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACrC,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/express/logger.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAE1B,QAAA,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC"}
@@ -1,60 +1,56 @@
1
+ import type { NextFunction, Request, RequestHandler, Response } from 'express';
2
+ import type { IncomingMessage } from 'node:http';
3
+ import type { Duplex } from 'node:stream';
4
+ export { handleIdempotency } from './idempotency';
5
+ import type { StringRecord, WSServer } from '@appium/types';
1
6
  /**
2
- *
3
- * @param {import('express').Request} req
4
- * @param {import('express').Response} res
5
- * @param {import('express').NextFunction} next
6
- * @returns {any}
7
+ * Basic CORS middleware.
8
+ * Sets permissive CORS headers and responds immediately to `OPTIONS` requests with 200.
7
9
  */
8
- export function allowCrossDomain(req: import("express").Request, res: import("express").Response, next: import("express").NextFunction): any;
10
+ export declare function allowCrossDomain(req: Request, res: Response, next: NextFunction): void;
9
11
  /**
10
- * @param {string} basePath
11
- * @returns {import('express').RequestHandler}
12
+ * CORS middleware for async execute response endpoints only.
13
+ * Leaves other routes untouched but applies {@link allowCrossDomain} to async response URLs.
14
+ *
15
+ * @param basePath - Server base path (e.g. `/wd/hub` or `/`)
16
+ * @returns Express request handler
12
17
  */
13
- export function allowCrossDomainAsyncExecute(basePath: string): import("express").RequestHandler;
18
+ export declare function allowCrossDomainAsyncExecute(basePath: string): RequestHandler;
14
19
  /**
15
- *
16
- * @param {import('express').Request} req
17
- * @param {import('express').Response} res
18
- * @param {import('express').NextFunction} next
19
- * @returns {any}
20
+ * Populates the logger's async context with request and session metadata.
21
+ * Derives `requestId`, optional session id/signature, and `isSensitive` flag from headers/URL.
20
22
  */
21
- export function handleLogContext(req: import("express").Request, res: import("express").Response, next: import("express").NextFunction): any;
23
+ export declare function handleLogContext(req: Request, _res: Response, next: NextFunction): void;
22
24
  /**
23
- *
24
- * @param {import('express').Request} req
25
- * @param {import('express').Response} res
26
- * @param {import('express').NextFunction} next
27
- * @returns {any}
25
+ * Ensures requests default to JSON content-type when none is provided.
28
26
  */
29
- export function defaultToJSONContentType(req: import("express").Request, res: import("express").Response, next: import("express").NextFunction): any;
27
+ export declare function defaultToJSONContentType(req: Request, _res: Response, next: NextFunction): void;
30
28
  /**
31
- * Core function to handle WebSocket upgrade requests by matching the request path
32
- * against registered WebSocket handlers in the webSocketsMapping.
29
+ * Attempts to handle a WebSocket upgrade by matching the request path against registered handlers.
33
30
  *
34
- * @param {import('http').IncomingMessage} req - The HTTP request
35
- * @param {import('stream').Duplex} socket - The network socket
36
- * @param {Buffer} head - The first packet of the upgraded stream
37
- * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping - Mapping of paths to WebSocket servers
38
- * @returns {boolean} - Returns true if the upgrade was handled, false otherwise
31
+ * @param req - Incoming HTTP request
32
+ * @param socket - Network socket
33
+ * @param head - First packet of the upgraded stream
34
+ * @param webSocketsMapping - Path-to-WebSocket-server mapping
35
+ * @returns `true` if the upgrade was handled; `false` otherwise
39
36
  */
40
- export function tryHandleWebSocketUpgrade(req: import("http").IncomingMessage, socket: import("stream").Duplex, head: Buffer, webSocketsMapping: import("@appium/types").StringRecord<import("@appium/types").WSServer>): boolean;
37
+ export declare function tryHandleWebSocketUpgrade(req: IncomingMessage, socket: Duplex, head: Buffer, webSocketsMapping: StringRecord<WSServer>): boolean;
41
38
  /**
39
+ * Express middleware wrapper around {@link tryHandleWebSocketUpgrade}.
40
+ * Delegates WebSocket upgrades to the mapping and falls through to `next()` otherwise.
42
41
  *
43
- * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping
44
- * @returns {import('express').RequestHandler}
42
+ * @param webSocketsMapping - Path-to-WebSocket-server mapping
43
+ * @returns Express request handler
45
44
  */
46
- export function handleUpgrade(webSocketsMapping: import("@appium/types").StringRecord<import("@appium/types").WSServer>): import("express").RequestHandler;
45
+ export declare function handleUpgrade(webSocketsMapping: StringRecord<WSServer>): RequestHandler;
47
46
  /**
48
- * @param {Error} err
49
- * @param {import('express').Request} req
50
- * @param {import('express').Response} res
51
- * @param {import('express').NextFunction} next
47
+ * Final error-handling middleware.
48
+ * Logs uncaught errors and returns a W3C-formatted error response unless headers were already sent.
52
49
  */
53
- export function catchAllHandler(err: Error, req: import("express").Request, res: import("express").Response, next: import("express").NextFunction): void;
50
+ export declare function catchAllHandler(err: Error, _req: Request, res: Response, next: NextFunction): void;
54
51
  /**
55
- * @param {import('express').Request} req
56
- * @param {import('express').Response} res
52
+ * 404 handler for unmatched routes.
53
+ * Logs a debug message and responds with `UnknownCommandError` in W3C format.
57
54
  */
58
- export function catch404Handler(req: import("express").Request, res: import("express").Response): void;
59
- export { handleIdempotency } from "./idempotency";
55
+ export declare function catch404Handler(req: Request, res: Response): void;
60
56
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../lib/express/middleware.js"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,sCALW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,GAC5B,GAAG,CAef;AAED;;;GAGG;AACH,uDAHW,MAAM,GACJ,OAAO,SAAS,EAAE,cAAc,CAc5C;AAED;;;;;;GAMG;AACH,sCALW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,GAC5B,GAAG,CAgBf;AAED;;;;;;GAMG;AACH,8CALW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,GAC5B,GAAG,CAOf;AAED;;;;;;;;;GASG;AACH,+CANW,OAAO,MAAM,EAAE,eAAe,UAC9B,OAAO,QAAQ,EAAE,MAAM,QACvB,MAAM,qBACN,OAAO,eAAe,EAAE,YAAY,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,GACpE,OAAO,CAuBnB;AAED;;;;GAIG;AACH,iDAHW,OAAO,eAAe,EAAE,YAAY,CAAC,OAAO,eAAe,EAAE,QAAQ,CAAC,GACpE,OAAO,SAAS,EAAE,cAAc,CAS5C;AAED;;;;;GAKG;AACH,qCALW,KAAK,OACL,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAC1B,OAAO,SAAS,EAAE,YAAY,QAUxC;AAED;;;GAGG;AACH,qCAHW,OAAO,SAAS,EAAE,OAAO,OACzB,OAAO,SAAS,EAAE,QAAQ,QAMpC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../lib/express/middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAatF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiB7E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAiBvF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,YAAY,GACjB,IAAI,CAKN;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,GACxC,OAAO,CAqBT;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,cAAc,CASvF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CASN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAIjE"}
@@ -13,7 +13,7 @@ exports.handleUpgrade = handleUpgrade;
13
13
  exports.catchAllHandler = catchAllHandler;
14
14
  exports.catch404Handler = catch404Handler;
15
15
  const lodash_1 = __importDefault(require("lodash"));
16
- const logger_1 = __importDefault(require("./logger"));
16
+ const logger_1 = require("./logger");
17
17
  const protocol_1 = require("../protocol");
18
18
  var idempotency_1 = require("./idempotency");
19
19
  Object.defineProperty(exports, "handleIdempotency", { enumerable: true, get: function () { return idempotency_1.handleIdempotency; } });
@@ -23,78 +23,70 @@ const session_1 = require("../helpers/session");
23
23
  const errors_1 = require("../protocol/errors");
24
24
  const SESSION_ID_PATTERN = /\/session\/([^/]+)/;
25
25
  /**
26
- *
27
- * @param {import('express').Request} req
28
- * @param {import('express').Response} res
29
- * @param {import('express').NextFunction} next
30
- * @returns {any}
26
+ * Basic CORS middleware.
27
+ * Sets permissive CORS headers and responds immediately to `OPTIONS` requests with 200.
31
28
  */
32
29
  function allowCrossDomain(req, res, next) {
33
30
  res.header('Access-Control-Allow-Origin', '*');
34
31
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, OPTIONS, DELETE');
35
32
  res.header('Access-Control-Allow-Headers', 'Cache-Control, Pragma, Origin, X-Requested-With, Content-Type, Accept, User-Agent');
36
- // need to respond 200 to OPTIONS
37
- if ('OPTIONS' === req.method) {
38
- return res.sendStatus(200);
33
+ if (req.method === 'OPTIONS') {
34
+ res.sendStatus(200);
35
+ return;
39
36
  }
40
37
  next();
41
38
  }
42
39
  /**
43
- * @param {string} basePath
44
- * @returns {import('express').RequestHandler}
40
+ * CORS middleware for async execute response endpoints only.
41
+ * Leaves other routes untouched but applies {@link allowCrossDomain} to async response URLs.
42
+ *
43
+ * @param basePath - Server base path (e.g. `/wd/hub` or `/`)
44
+ * @returns Express request handler
45
45
  */
46
46
  function allowCrossDomainAsyncExecute(basePath) {
47
- return (req, res, next) => {
48
- // there are two paths for async responses, so cover both
49
- // https://regex101.com/r/txYiEz/1
47
+ function allowCrossDomainAsyncExecuteHandler(req, res, next) {
50
48
  const receiveAsyncResponseRegExp = new RegExp(`${lodash_1.default.escapeRegExp(basePath)}/session/[a-f0-9-]+/(appium/)?receive_async_response`);
51
49
  if (!receiveAsyncResponseRegExp.test(req.url)) {
52
- return next();
50
+ next();
51
+ return;
53
52
  }
54
53
  allowCrossDomain(req, res, next);
55
- };
54
+ }
55
+ return allowCrossDomainAsyncExecuteHandler;
56
56
  }
57
57
  /**
58
- *
59
- * @param {import('express').Request} req
60
- * @param {import('express').Response} res
61
- * @param {import('express').NextFunction} next
62
- * @returns {any}
58
+ * Populates the logger's async context with request and session metadata.
59
+ * Derives `requestId`, optional session id/signature, and `isSensitive` flag from headers/URL.
63
60
  */
64
- function handleLogContext(req, res, next) {
61
+ function handleLogContext(req, _res, next) {
65
62
  const requestId = fetchHeaderValue(req, 'x-request-id') || support_1.util.uuidV4();
66
63
  const sessionId = SESSION_ID_PATTERN.exec(req.url)?.[1];
67
64
  const sessionInfo = sessionId ? { sessionId, sessionSignature: (0, session_1.calcSignature)(sessionId) } : {};
68
65
  const isSensitiveHeaderValue = fetchHeaderValue(req, 'x-appium-is-sensitive');
69
- logger_1.default.updateAsyncContext({
66
+ logger_1.log.updateAsyncContext({
70
67
  requestId,
71
68
  ...sessionInfo,
72
69
  isSensitive: ['true', '1', 'yes'].includes(lodash_1.default.toLower(isSensitiveHeaderValue)),
73
70
  }, true);
74
- return next();
71
+ next();
75
72
  }
76
73
  /**
77
- *
78
- * @param {import('express').Request} req
79
- * @param {import('express').Response} res
80
- * @param {import('express').NextFunction} next
81
- * @returns {any}
74
+ * Ensures requests default to JSON content-type when none is provided.
82
75
  */
83
- function defaultToJSONContentType(req, res, next) {
76
+ function defaultToJSONContentType(req, _res, next) {
84
77
  if (!req.headers['content-type']) {
85
78
  req.headers['content-type'] = 'application/json; charset=utf-8';
86
79
  }
87
80
  next();
88
81
  }
89
82
  /**
90
- * Core function to handle WebSocket upgrade requests by matching the request path
91
- * against registered WebSocket handlers in the webSocketsMapping.
83
+ * Attempts to handle a WebSocket upgrade by matching the request path against registered handlers.
92
84
  *
93
- * @param {import('http').IncomingMessage} req - The HTTP request
94
- * @param {import('stream').Duplex} socket - The network socket
95
- * @param {Buffer} head - The first packet of the upgraded stream
96
- * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping - Mapping of paths to WebSocket servers
97
- * @returns {boolean} - Returns true if the upgrade was handled, false otherwise
85
+ * @param req - Incoming HTTP request
86
+ * @param socket - Network socket
87
+ * @param head - First packet of the upgraded stream
88
+ * @param webSocketsMapping - Path-to-WebSocket-server mapping
89
+ * @returns `true` if the upgrade was handled; `false` otherwise
98
90
  */
99
91
  function tryHandleWebSocketUpgrade(req, socket, head, webSocketsMapping) {
100
92
  if (lodash_1.default.toLower(req.headers?.upgrade) !== 'websocket') {
@@ -115,53 +107,49 @@ function tryHandleWebSocketUpgrade(req, socket, head, webSocketsMapping) {
115
107
  return true;
116
108
  }
117
109
  }
118
- logger_1.default.info(`Did not match the websocket upgrade request at ${currentPathname} to any known route`);
110
+ logger_1.log.info(`Did not match the websocket upgrade request at ${currentPathname} to any known route`);
119
111
  return false;
120
112
  }
121
113
  /**
114
+ * Express middleware wrapper around {@link tryHandleWebSocketUpgrade}.
115
+ * Delegates WebSocket upgrades to the mapping and falls through to `next()` otherwise.
122
116
  *
123
- * @param {import('@appium/types').StringRecord<import('@appium/types').WSServer>} webSocketsMapping
124
- * @returns {import('express').RequestHandler}
117
+ * @param webSocketsMapping - Path-to-WebSocket-server mapping
118
+ * @returns Express request handler
125
119
  */
126
120
  function handleUpgrade(webSocketsMapping) {
127
- return (req, res, next) => {
121
+ function handleUpgradeMiddleware(req, res, next) {
128
122
  if (tryHandleWebSocketUpgrade(req, req.socket, Buffer.from(''), webSocketsMapping)) {
129
123
  return;
130
124
  }
131
125
  next();
132
- };
126
+ }
127
+ return handleUpgradeMiddleware;
133
128
  }
134
129
  /**
135
- * @param {Error} err
136
- * @param {import('express').Request} req
137
- * @param {import('express').Response} res
138
- * @param {import('express').NextFunction} next
130
+ * Final error-handling middleware.
131
+ * Logs uncaught errors and returns a W3C-formatted error response unless headers were already sent.
139
132
  */
140
- function catchAllHandler(err, req, res, next) {
133
+ function catchAllHandler(err, _req, res, next) {
141
134
  if (res.headersSent) {
142
- return next(err);
135
+ next(err);
136
+ return;
143
137
  }
144
- logger_1.default.error(`Uncaught error: ${err.message}`);
138
+ logger_1.log.error(`Uncaught error: ${err.message}`);
145
139
  const [status, body] = (0, errors_1.getResponseForW3CError)(err);
146
140
  res.status(status).json(body);
147
141
  }
148
142
  /**
149
- * @param {import('express').Request} req
150
- * @param {import('express').Response} res
143
+ * 404 handler for unmatched routes.
144
+ * Logs a debug message and responds with `UnknownCommandError` in W3C format.
151
145
  */
152
146
  function catch404Handler(req, res) {
153
- logger_1.default.debug(`No route found for ${req.url}`);
147
+ logger_1.log.debug(`No route found for ${req.url}`);
154
148
  const [status, body] = (0, errors_1.getResponseForW3CError)(new protocol_1.errors.UnknownCommandError());
155
149
  res.status(status).json(body);
156
150
  }
157
- /**
158
- * @param {import('express').Request} req
159
- * @param {string} name
160
- * @returns {string | undefined}
161
- */
162
151
  function fetchHeaderValue(req, name) {
163
- return lodash_1.default.isArray(req.headers[name])
164
- ? req.headers[name][0]
165
- : req.headers[name];
152
+ const value = req.headers[name];
153
+ return lodash_1.default.isArray(value) ? value[0] : value;
166
154
  }
167
155
  //# sourceMappingURL=middleware.js.map
@@ -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.ts"],"names":[],"mappings":"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"}
@@ -1,111 +1,67 @@
1
- /**
2
- *
3
- * @param {ServerOpts} opts
4
- * @returns {Promise<AppiumServer>}
5
- */
6
- export function server(opts: ServerOpts): Promise<AppiumServer>;
7
- /**
8
- * Sets up some Express middleware and stuff
9
- * @param {ConfigureServerOpts} opts
10
- */
11
- export function configureServer({ app, addRoutes, allowCors, basePath, extraMethodMap, webSocketsMapping, useLegacyUpgradeHandler, }: ConfigureServerOpts): void;
12
- /**
13
- * Normalize base path string
14
- * @param {string} basePath
15
- * @returns {string}
16
- */
17
- export function normalizeBasePath(basePath: string): string;
18
- /**
19
- * Options for {@linkcode startServer}.
20
- */
21
- export type StartServerOpts = {
22
- /**
23
- * - HTTP server instance
24
- */
25
- httpServer: import("http").Server;
26
- /**
27
- * - Port to run on
28
- */
1
+ import type { Express } from 'express';
2
+ import type { Server as HttpServer } from 'node:http';
3
+ import type { AppiumServer, ServerArgs, UpdateServerCallback, MethodMap, ExternalDriver, StringRecord } from '@appium/types';
4
+ /** Options for {@linkcode RouteConfiguringFunction} */
5
+ export interface RouteConfiguringFunctionOpts {
6
+ basePath?: string;
7
+ extraMethodMap?: MethodMap<ExternalDriver>;
8
+ }
9
+ /** A function which configures routes */
10
+ export type RouteConfiguringFunction = (app: Express, opts?: RouteConfiguringFunctionOpts) => void;
11
+ /** Options for {@linkcode server} */
12
+ export interface ServerOpts {
13
+ routeConfiguringFunction: RouteConfiguringFunction;
29
14
  port: number;
30
- /**
31
- * - Keep-alive timeout in milliseconds
32
- */
33
- keepAliveTimeout: number;
34
- /**
35
- * - Optional hostname
36
- */
37
- hostname?: string | undefined;
38
- /**
39
- * - The timeout value in milliseconds for
40
- * receiving the entire request from the client
41
- */
42
- requestTimeout?: number | undefined;
43
- };
44
- export type AppiumServer = import("@appium/types").AppiumServer;
45
- export type MethodMap = import("@appium/types").MethodMap<import("@appium/types").ExternalDriver>;
46
- /**
47
- * Options for {@linkcode configureHttp}
48
- */
49
- export type ConfigureHttpOpts = {
50
- /**
51
- * - HTTP server instance
52
- */
53
- httpServer: import("http").Server;
54
- /**
55
- * - Rejection function from `Promise` constructor
56
- */
57
- reject: (error?: any) => void;
58
- /**
59
- * - Keep-alive timeout in milliseconds
60
- */
15
+ cliArgs?: Partial<ServerArgs>;
16
+ hostname?: string;
17
+ allowCors?: boolean;
18
+ basePath?: string;
19
+ extraMethodMap?: MethodMap<ExternalDriver>;
20
+ serverUpdaters?: UpdateServerCallback[];
21
+ keepAliveTimeout?: number;
22
+ requestTimeout?: number;
23
+ }
24
+ /** Options for {@linkcode configureServer} */
25
+ export interface ConfigureServerOpts {
26
+ app: Express;
27
+ addRoutes: RouteConfiguringFunction;
28
+ allowCors?: boolean;
29
+ basePath?: string;
30
+ extraMethodMap?: MethodMap<ExternalDriver>;
31
+ webSocketsMapping?: StringRecord;
32
+ useLegacyUpgradeHandler?: boolean;
33
+ }
34
+ /** Options for {@linkcode configureHttp} */
35
+ export interface ConfigureHttpOpts {
36
+ httpServer: HttpServer;
37
+ reject: (error?: unknown) => void;
61
38
  keepAliveTimeout: number;
62
- /**
63
- * - For how long the server should delay its
64
- * shutdown before force-closing all open connections to it. Providing zero will force-close
65
- * the server without waiting for any connections.
66
- */
67
- gracefulShutdownTimeout: number;
68
- };
69
- /**
70
- * Options for {@linkcode server}
71
- */
72
- export type ServerOpts = {
73
- routeConfiguringFunction: RouteConfiguringFunction;
39
+ gracefulShutdownTimeout?: number;
40
+ }
41
+ /** Options for {@linkcode startServer} */
42
+ export interface StartServerOpts {
43
+ httpServer: HttpServer;
74
44
  port: number;
75
- cliArgs?: import("@appium/types").ServerArgs | undefined;
76
- hostname?: string | undefined;
77
- allowCors?: boolean | undefined;
78
- basePath?: string | undefined;
79
- 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;
80
- serverUpdaters?: import("@appium/types").UpdateServerCallback[] | undefined;
81
- keepAliveTimeout?: number | undefined;
82
- requestTimeout?: number | undefined;
83
- };
45
+ hostname?: string;
46
+ keepAliveTimeout: number;
47
+ requestTimeout?: number;
48
+ }
84
49
  /**
85
- * A function which configures routes
50
+ * @param opts - Server options
51
+ * @returns Promise resolving to the Appium server instance
86
52
  */
87
- export type RouteConfiguringFunction = (app: import("express").Express, opts?: RouteConfiguringFunctionOpts | undefined) => void;
53
+ export declare function server(opts: ServerOpts): Promise<AppiumServer>;
88
54
  /**
89
- * Options for a {@linkcode RouteConfiguringFunction}
55
+ * Sets up Express middleware and routes.
56
+ *
57
+ * @param opts - Configuration options
90
58
  */
91
- export type RouteConfiguringFunctionOpts = {
92
- basePath?: string | undefined;
93
- 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;
94
- };
59
+ export declare function configureServer({ app, addRoutes, allowCors, basePath, extraMethodMap, webSocketsMapping, useLegacyUpgradeHandler, }: ConfigureServerOpts): void;
95
60
  /**
96
- * Options for {@linkcode configureServer}
61
+ * Normalize base path string (leading slash, no trailing slash).
62
+ *
63
+ * @param basePath - Raw base path
64
+ * @returns Normalized base path
97
65
  */
98
- export type ConfigureServerOpts = {
99
- app: import("express").Express;
100
- addRoutes: RouteConfiguringFunction;
101
- allowCors?: boolean | undefined;
102
- basePath?: string | undefined;
103
- 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;
104
- webSocketsMapping?: import("@appium/types").StringRecord<any> | undefined;
105
- /**
106
- * - Whether to use legacy Express middleware for WebSocket upgrades.
107
- * Set to false when using shouldUpgradeCallback on the HTTP server (Node.js >= 22.21.0 or >= 24.9.0).
108
- */
109
- useLegacyUpgradeHandler?: boolean | undefined;
110
- };
66
+ export declare function normalizeBasePath(basePath: string): string;
111
67
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":"AAkCA;;;;GAIG;AACH,6BAHW,UAAU,GACR,OAAO,CAAC,YAAY,CAAC,CAiEjC;AAED;;;GAGG;AACH,sIAFW,mBAAmB,QAsD7B;AAED;;;;GAIG;AACH,4CAHW,MAAM,GACJ,MAAM,CAkBlB;;;;;;;;gBAkLa,OAAO,MAAM,EAAE,MAAM;;;;UACrB,MAAM;;;;sBACN,MAAM;;;;;;;;;;;2BAOP,OAAO,eAAe,EAAE,YAAY;wBAIpC,OAAO,eAAe,EAAE,SAAS,CAAC,OAAO,eAAe,EAAE,cAAc,CAAC;;;;;;;;gBAMxE,OAAO,MAAM,EAAE,MAAM;;;;YACrB,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI;;;;sBACrB,MAAM;;;;;;6BACN,MAAM;;;;;;8BAQN,wBAAwB;UACxB,MAAM;;;;;;;;;;;;;6CAcT,OAAO,SAAS,EAAE,OAAO,sDAEvB,IAAI;;;;;;;;;;;;SAaH,OAAO,SAAS,EAAE,OAAO;eACzB,wBAAwB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAiB,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,WAAW,CAAC;AAkCpD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,YAAY,EACb,MAAM,eAAe,CAAC;AAIvB,uDAAuD;AACvD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC5C;AAED,yCAAyC;AACzC,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,4BAA4B,KAChC,IAAI,CAAC;AAEV,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,wBAAwB,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,YAAY,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CA+DpE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,SAAS,EACT,SAAgB,EAChB,QAA4B,EAC5B,cAAmB,EACnB,iBAAsB,EACtB,uBAA8B,GAC/B,EAAE,mBAAmB,GAAG,IAAI,CA4C5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe1D"}