@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.
- package/LICENSE +201 -0
- package/build/lib/basedriver/capabilities.js +7 -7
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts +1 -1
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/execute.d.ts +1 -1
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.d.ts +1 -1
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/mixin.d.ts +1 -1
- package/build/lib/basedriver/commands/mixin.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.d.ts +14 -23
- package/build/lib/basedriver/device-settings.d.ts.map +1 -1
- package/build/lib/basedriver/device-settings.js +11 -26
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/helpers.d.ts +36 -57
- package/build/lib/basedriver/helpers.d.ts.map +1 -1
- package/build/lib/basedriver/helpers.js +148 -239
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/logger.d.ts +1 -2
- package/build/lib/basedriver/logger.d.ts.map +1 -1
- package/build/lib/basedriver/logger.js +2 -2
- package/build/lib/basedriver/logger.js.map +1 -1
- package/build/lib/basedriver/validation.d.ts.map +1 -1
- package/build/lib/basedriver/validation.js +3 -3
- package/build/lib/basedriver/validation.js.map +1 -1
- package/build/lib/constants.d.ts +1 -1
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/express/crash.d.ts +8 -2
- package/build/lib/express/crash.d.ts.map +1 -1
- package/build/lib/express/crash.js +6 -0
- package/build/lib/express/crash.js.map +1 -1
- package/build/lib/express/express-logging.d.ts +12 -2
- package/build/lib/express/express-logging.d.ts.map +1 -1
- package/build/lib/express/express-logging.js +34 -26
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.d.ts +4 -10
- package/build/lib/express/idempotency.d.ts.map +1 -1
- package/build/lib/express/idempotency.js +69 -73
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/logger.d.ts +1 -2
- package/build/lib/express/logger.d.ts.map +1 -1
- package/build/lib/express/logger.js +2 -2
- package/build/lib/express/logger.js.map +1 -1
- package/build/lib/express/middleware.d.ts +37 -41
- package/build/lib/express/middleware.d.ts.map +1 -1
- package/build/lib/express/middleware.js +48 -60
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts +57 -101
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +51 -128
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/static.d.ts +10 -5
- package/build/lib/express/static.d.ts.map +1 -1
- package/build/lib/express/static.js +32 -42
- package/build/lib/express/static.js.map +1 -1
- package/build/lib/express/websocket.d.ts +22 -6
- package/build/lib/express/websocket.d.ts.map +1 -1
- package/build/lib/express/websocket.js +10 -15
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts +4 -16
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +36 -48
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts +42 -78
- package/build/lib/jsonwp-proxy/protocol-converter.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +87 -139
- package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +2 -2
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/jsonwp-status/status.d.ts +113 -158
- package/build/lib/jsonwp-status/status.d.ts.map +1 -1
- package/build/lib/jsonwp-status/status.js +10 -14
- package/build/lib/jsonwp-status/status.js.map +1 -1
- package/build/lib/protocol/bidi-commands.d.ts +31 -36
- package/build/lib/protocol/bidi-commands.d.ts.map +1 -1
- package/build/lib/protocol/bidi-commands.js +5 -5
- package/build/lib/protocol/bidi-commands.js.map +1 -1
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/helpers.d.ts +7 -11
- package/build/lib/protocol/helpers.d.ts.map +1 -1
- package/build/lib/protocol/helpers.js +5 -9
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/index.d.ts +4 -21
- package/build/lib/protocol/index.d.ts.map +1 -1
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/protocol/protocol.d.ts +15 -1
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +50 -20
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +8 -15
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +18 -33
- package/build/lib/protocol/routes.js.map +1 -1
- package/lib/basedriver/capabilities.ts +1 -1
- package/lib/basedriver/commands/event.ts +2 -2
- package/lib/basedriver/commands/execute.ts +2 -2
- package/lib/basedriver/commands/find.ts +2 -2
- package/lib/basedriver/commands/mixin.ts +1 -1
- package/lib/basedriver/commands/timeout.ts +2 -2
- package/lib/basedriver/{device-settings.js → device-settings.ts} +24 -35
- package/lib/basedriver/{helpers.js → helpers.ts} +208 -266
- package/lib/basedriver/logger.ts +3 -0
- package/lib/basedriver/validation.ts +2 -2
- package/lib/constants.ts +1 -1
- package/lib/express/crash.ts +15 -0
- package/lib/express/express-logging.ts +84 -0
- package/lib/express/{idempotency.js → idempotency.ts} +105 -89
- package/lib/express/logger.ts +3 -0
- package/lib/express/middleware.ts +187 -0
- package/lib/express/{server.js → server.ts} +175 -167
- package/lib/express/static.ts +77 -0
- package/lib/express/websocket.ts +81 -0
- package/lib/helpers/capabilities.ts +83 -0
- package/lib/jsonwp-proxy/protocol-converter.ts +284 -0
- package/lib/jsonwp-proxy/proxy.js +1 -1
- package/lib/jsonwp-status/{status.js → status.ts} +12 -15
- package/lib/protocol/{bidi-commands.js → bidi-commands.ts} +7 -5
- package/lib/protocol/errors.ts +1 -1
- package/lib/protocol/{helpers.js → helpers.ts} +8 -11
- package/lib/protocol/protocol.ts +57 -26
- package/lib/protocol/{routes.js → routes.ts} +29 -40
- package/package.json +11 -11
- package/tsconfig.json +3 -1
- package/lib/basedriver/logger.js +0 -4
- package/lib/express/crash.js +0 -11
- package/lib/express/express-logging.js +0 -60
- package/lib/express/logger.js +0 -4
- package/lib/express/middleware.js +0 -171
- package/lib/express/static.js +0 -76
- package/lib/express/websocket.js +0 -79
- package/lib/helpers/capabilities.js +0 -93
- package/lib/jsonwp-proxy/protocol-converter.js +0 -317
- /package/lib/protocol/{index.js → index.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../../lib/express/idempotency.
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../../lib/express/idempotency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../lib/express/logger.
|
|
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
|
-
|
|
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.
|
|
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
|
-
*
|
|
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:
|
|
10
|
+
export declare function allowCrossDomain(req: Request, res: Response, next: NextFunction): void;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @
|
|
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):
|
|
18
|
+
export declare function allowCrossDomainAsyncExecute(basePath: string): RequestHandler;
|
|
14
19
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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:
|
|
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:
|
|
27
|
+
export declare function defaultToJSONContentType(req: Request, _res: Response, next: NextFunction): void;
|
|
30
28
|
/**
|
|
31
|
-
*
|
|
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
|
|
35
|
-
* @param
|
|
36
|
-
* @param
|
|
37
|
-
* @param
|
|
38
|
-
* @returns
|
|
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:
|
|
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
|
|
44
|
-
* @returns
|
|
42
|
+
* @param webSocketsMapping - Path-to-WebSocket-server mapping
|
|
43
|
+
* @returns Express request handler
|
|
45
44
|
*/
|
|
46
|
-
export function handleUpgrade(webSocketsMapping:
|
|
45
|
+
export declare function handleUpgrade(webSocketsMapping: StringRecord<WSServer>): RequestHandler;
|
|
47
46
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
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,
|
|
50
|
+
export declare function catchAllHandler(err: Error, _req: Request, res: Response, next: NextFunction): void;
|
|
54
51
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
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:
|
|
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.
|
|
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 =
|
|
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
|
-
*
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
return
|
|
33
|
+
if (req.method === 'OPTIONS') {
|
|
34
|
+
res.sendStatus(200);
|
|
35
|
+
return;
|
|
39
36
|
}
|
|
40
37
|
next();
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @
|
|
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
|
-
|
|
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
|
-
|
|
50
|
+
next();
|
|
51
|
+
return;
|
|
53
52
|
}
|
|
54
53
|
allowCrossDomain(req, res, next);
|
|
55
|
-
}
|
|
54
|
+
}
|
|
55
|
+
return allowCrossDomainAsyncExecuteHandler;
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
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,
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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
|
-
*
|
|
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
|
|
94
|
-
* @param
|
|
95
|
-
* @param
|
|
96
|
-
* @param
|
|
97
|
-
* @returns
|
|
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.
|
|
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
|
|
124
|
-
* @returns
|
|
117
|
+
* @param webSocketsMapping - Path-to-WebSocket-server mapping
|
|
118
|
+
* @returns Express request handler
|
|
125
119
|
*/
|
|
126
120
|
function handleUpgrade(webSocketsMapping) {
|
|
127
|
-
|
|
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
|
-
*
|
|
136
|
-
*
|
|
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,
|
|
133
|
+
function catchAllHandler(err, _req, res, next) {
|
|
141
134
|
if (res.headersSent) {
|
|
142
|
-
|
|
135
|
+
next(err);
|
|
136
|
+
return;
|
|
143
137
|
}
|
|
144
|
-
logger_1.
|
|
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
|
-
*
|
|
150
|
-
*
|
|
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.
|
|
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
|
-
|
|
164
|
-
|
|
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.
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
*
|
|
50
|
+
* @param opts - Server options
|
|
51
|
+
* @returns Promise resolving to the Appium server instance
|
|
86
52
|
*/
|
|
87
|
-
export
|
|
53
|
+
export declare function server(opts: ServerOpts): Promise<AppiumServer>;
|
|
88
54
|
/**
|
|
89
|
-
*
|
|
55
|
+
* Sets up Express middleware and routes.
|
|
56
|
+
*
|
|
57
|
+
* @param opts - Configuration options
|
|
90
58
|
*/
|
|
91
|
-
export
|
|
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
|
-
*
|
|
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
|
|
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.
|
|
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"}
|