@appium/base-driver 8.7.3 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/basedriver/capabilities.d.ts +11 -163
- package/build/lib/basedriver/capabilities.d.ts.map +1 -1
- package/build/lib/basedriver/capabilities.js +354 -236
- package/build/lib/basedriver/capabilities.js.map +1 -1
- package/build/lib/basedriver/commands/event.d.ts +7 -6
- package/build/lib/basedriver/commands/event.d.ts.map +1 -1
- package/build/lib/basedriver/commands/event.js +55 -35
- package/build/lib/basedriver/commands/event.js.map +1 -1
- package/build/lib/basedriver/commands/execute.d.ts +7 -6
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -1
- package/build/lib/basedriver/commands/execute.js +66 -58
- package/build/lib/basedriver/commands/execute.js.map +1 -1
- package/build/lib/basedriver/commands/find.d.ts +9 -7
- package/build/lib/basedriver/commands/find.d.ts.map +1 -1
- package/build/lib/basedriver/commands/find.js +102 -54
- package/build/lib/basedriver/commands/find.js.map +1 -1
- package/build/lib/basedriver/commands/index.d.ts +3 -7
- package/build/lib/basedriver/commands/index.d.ts.map +1 -1
- package/build/lib/basedriver/commands/index.js +30 -33
- package/build/lib/basedriver/commands/index.js.map +1 -1
- package/build/lib/basedriver/commands/log.d.ts +8 -9
- package/build/lib/basedriver/commands/log.d.ts.map +1 -1
- package/build/lib/basedriver/commands/log.js +54 -38
- package/build/lib/basedriver/commands/log.js.map +1 -1
- package/build/lib/basedriver/commands/session.d.ts +7 -6
- package/build/lib/basedriver/commands/session.d.ts.map +1 -1
- package/build/lib/basedriver/commands/session.js +46 -39
- package/build/lib/basedriver/commands/session.js.map +1 -1
- package/build/lib/basedriver/commands/settings.d.ts +7 -7
- package/build/lib/basedriver/commands/settings.d.ts.map +1 -1
- package/build/lib/basedriver/commands/settings.js +35 -28
- package/build/lib/basedriver/commands/settings.js.map +1 -1
- package/build/lib/basedriver/commands/timeout.d.ts +7 -5
- package/build/lib/basedriver/commands/timeout.d.ts.map +1 -1
- package/build/lib/basedriver/commands/timeout.js +144 -162
- package/build/lib/basedriver/commands/timeout.js.map +1 -1
- package/build/lib/basedriver/core.d.ts +6 -157
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +361 -230
- package/build/lib/basedriver/core.js.map +1 -1
- package/build/lib/basedriver/desired-caps.js +80 -110
- package/build/lib/basedriver/desired-caps.js.map +1 -1
- package/build/lib/basedriver/device-settings.js +57 -62
- package/build/lib/basedriver/device-settings.js.map +1 -1
- package/build/lib/basedriver/driver.d.ts +11 -262
- package/build/lib/basedriver/driver.d.ts.map +1 -1
- package/build/lib/basedriver/driver.js +362 -262
- package/build/lib/basedriver/driver.js.map +1 -1
- package/build/lib/basedriver/helpers.js +500 -495
- package/build/lib/basedriver/helpers.js.map +1 -1
- package/build/lib/basedriver/logger.d.ts +1 -1
- package/build/lib/basedriver/logger.d.ts.map +1 -1
- package/build/lib/basedriver/logger.js +5 -15
- package/build/lib/basedriver/logger.js.map +1 -1
- package/build/lib/constants.js +14 -14
- package/build/lib/constants.js.map +1 -1
- package/build/lib/express/crash.js +8 -15
- package/build/lib/express/crash.js.map +1 -1
- package/build/lib/express/express-logging.js +49 -59
- package/build/lib/express/express-logging.js.map +1 -1
- package/build/lib/express/idempotency.js +125 -177
- package/build/lib/express/idempotency.js.map +1 -1
- package/build/lib/express/logger.d.ts +1 -1
- package/build/lib/express/logger.d.ts.map +1 -1
- package/build/lib/express/logger.js +5 -15
- package/build/lib/express/logger.js.map +1 -1
- package/build/lib/express/middleware.js +82 -107
- package/build/lib/express/middleware.js.map +1 -1
- package/build/lib/express/server.d.ts +17 -5
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +259 -224
- package/build/lib/express/server.js.map +1 -1
- package/build/lib/express/static.js +64 -81
- package/build/lib/express/static.js.map +1 -1
- package/build/lib/express/websocket.js +115 -87
- package/build/lib/express/websocket.js.map +1 -1
- package/build/lib/helpers/capabilities.d.ts +1 -59
- package/build/lib/helpers/capabilities.d.ts.map +1 -1
- package/build/lib/helpers/capabilities.js +72 -69
- package/build/lib/helpers/capabilities.js.map +1 -1
- package/build/lib/index.js +64 -180
- package/build/lib/index.js.map +1 -1
- package/build/lib/jsonwp-proxy/protocol-converter.js +215 -227
- package/build/lib/jsonwp-proxy/protocol-converter.js.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.d.ts.map +1 -1
- package/build/lib/jsonwp-proxy/proxy.js +355 -393
- package/build/lib/jsonwp-proxy/proxy.js.map +1 -1
- package/build/lib/jsonwp-status/status.js +119 -130
- package/build/lib/jsonwp-status/status.js.map +1 -1
- package/build/lib/protocol/errors.d.ts +135 -32
- package/build/lib/protocol/errors.d.ts.map +1 -1
- package/build/lib/protocol/errors.js +871 -919
- package/build/lib/protocol/errors.js.map +1 -1
- package/build/lib/protocol/helpers.js +37 -37
- package/build/lib/protocol/helpers.js.map +1 -1
- package/build/lib/protocol/index.js +22 -109
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/protocol/protocol.js +394 -350
- package/build/lib/protocol/protocol.js.map +1 -1
- package/build/lib/protocol/routes.d.ts +1238 -4
- package/build/lib/protocol/routes.d.ts.map +1 -1
- package/build/lib/protocol/routes.js +964 -1327
- package/build/lib/protocol/routes.js.map +1 -1
- package/build/lib/protocol/validators.js +32 -39
- package/build/lib/protocol/validators.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/capabilities.js +80 -39
- package/lib/basedriver/commands/event.js +10 -5
- package/lib/basedriver/commands/execute.js +14 -9
- package/lib/basedriver/commands/find.js +18 -12
- package/lib/basedriver/commands/index.js +21 -16
- package/lib/basedriver/commands/log.js +24 -18
- package/lib/basedriver/commands/session.js +10 -5
- package/lib/basedriver/commands/settings.js +9 -6
- package/lib/basedriver/commands/timeout.js +10 -4
- package/lib/basedriver/core.js +2 -3
- package/lib/basedriver/driver.js +12 -16
- package/lib/express/server.js +6 -3
- package/lib/protocol/errors.js +155 -44
- package/lib/protocol/routes.js +11 -7
- package/package.json +14 -16
|
@@ -1,239 +1,227 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
require("
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}];
|
|
48
|
-
exports.COMMAND_URLS_CONFLICTS = COMMAND_URLS_CONFLICTS;
|
|
49
|
-
const {
|
|
50
|
-
MJSONWP,
|
|
51
|
-
W3C
|
|
52
|
-
} = _constants.PROTOCOLS;
|
|
53
|
-
|
|
54
|
-
const DEFAULT_LOG = _support.logger.getLogger('Protocol Converter');
|
|
55
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.COMMAND_URLS_CONFLICTS = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const support_1 = require("@appium/support");
|
|
9
|
+
const helpers_1 = require("../basedriver/helpers");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
exports.COMMAND_URLS_CONFLICTS = [
|
|
12
|
+
{
|
|
13
|
+
commandNames: ['execute', 'executeAsync'],
|
|
14
|
+
jsonwpConverter: (url) => url.replace(/\/execute.*/, url.includes('async') ? '/execute_async' : '/execute'),
|
|
15
|
+
w3cConverter: (url) => url.replace(/\/execute.*/, url.includes('async') ? '/execute/async' : '/execute/sync'),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
commandNames: ['getElementScreenshot'],
|
|
19
|
+
jsonwpConverter: (url) => url.replace(/\/element\/([^/]+)\/screenshot$/, '/screenshot/$1'),
|
|
20
|
+
w3cConverter: (url) => url.replace(/\/screenshot\/([^/]+)/, '/element/$1/screenshot'),
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
commandNames: ['getWindowHandles', 'getWindowHandle'],
|
|
24
|
+
jsonwpConverter(url) {
|
|
25
|
+
return /\/window$/.test(url)
|
|
26
|
+
? url.replace(/\/window$/, '/window_handle')
|
|
27
|
+
: url.replace(/\/window\/handle(s?)$/, '/window_handle$1');
|
|
28
|
+
},
|
|
29
|
+
w3cConverter(url) {
|
|
30
|
+
return /\/window_handle$/.test(url)
|
|
31
|
+
? url.replace(/\/window_handle$/, '/window')
|
|
32
|
+
: url.replace(/\/window_handles$/, '/window/handles');
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
commandNames: ['getProperty'],
|
|
37
|
+
jsonwpConverter: (w3cUrl) => {
|
|
38
|
+
const w3cPropertyRegex = /\/element\/([^/]+)\/property\/([^/]+)/;
|
|
39
|
+
const jsonwpUrl = w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');
|
|
40
|
+
return jsonwpUrl;
|
|
41
|
+
},
|
|
42
|
+
w3cConverter: (jsonwpUrl) => jsonwpUrl, // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
const { MJSONWP, W3C } = constants_1.PROTOCOLS;
|
|
46
|
+
const DEFAULT_LOG = support_1.logger.getLogger('Protocol Converter');
|
|
56
47
|
class ProtocolConverter {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
get log() {
|
|
64
|
-
return this._log ?? DEFAULT_LOG;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
set downstreamProtocol(value) {
|
|
68
|
-
this._downstreamProtocol = value;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
get downstreamProtocol() {
|
|
72
|
-
return this._downstreamProtocol;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
getTimeoutRequestObjects(body) {
|
|
76
|
-
if (this.downstreamProtocol === W3C && _lodash.default.has(body, 'ms') && _lodash.default.has(body, 'type')) {
|
|
77
|
-
const typeToW3C = x => x === 'page load' ? 'pageLoad' : x;
|
|
78
|
-
|
|
79
|
-
return [{
|
|
80
|
-
[typeToW3C(body.type)]: body.ms
|
|
81
|
-
}];
|
|
48
|
+
constructor(proxyFunc, log = null) {
|
|
49
|
+
this.proxyFunc = proxyFunc;
|
|
50
|
+
this._downstreamProtocol = null;
|
|
51
|
+
this._log = log;
|
|
82
52
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const typeToJSONWP = x => x === 'pageLoad' ? 'page load' : x;
|
|
86
|
-
|
|
87
|
-
return _lodash.default.toPairs(body).filter(pair => /^\d+(?:[.,]\d*?)?$/.test(`${pair[1]}`)).map(function (pair) {
|
|
88
|
-
return {
|
|
89
|
-
type: typeToJSONWP(pair[0]),
|
|
90
|
-
ms: pair[1]
|
|
91
|
-
};
|
|
92
|
-
});
|
|
53
|
+
get log() {
|
|
54
|
+
return this._log ?? DEFAULT_LOG;
|
|
93
55
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
56
|
+
set downstreamProtocol(value) {
|
|
57
|
+
this._downstreamProtocol = value;
|
|
58
|
+
}
|
|
59
|
+
get downstreamProtocol() {
|
|
60
|
+
return this._downstreamProtocol;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one
|
|
64
|
+
* at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type
|
|
65
|
+
* provided in the request, we need to do 3 proxies and combine the result
|
|
66
|
+
*
|
|
67
|
+
* @param {Object} body Request body
|
|
68
|
+
* @return {Array} Array of W3C + MJSONWP compatible timeout objects
|
|
69
|
+
*/
|
|
70
|
+
getTimeoutRequestObjects(body) {
|
|
71
|
+
if (this.downstreamProtocol === W3C && lodash_1.default.has(body, 'ms') && lodash_1.default.has(body, 'type')) {
|
|
72
|
+
const typeToW3C = (x) => (x === 'page load' ? 'pageLoad' : x);
|
|
73
|
+
return [
|
|
74
|
+
{
|
|
75
|
+
[typeToW3C(body.type)]: body.ms,
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
if (this.downstreamProtocol === MJSONWP && (!lodash_1.default.has(body, 'ms') || !lodash_1.default.has(body, 'type'))) {
|
|
80
|
+
const typeToJSONWP = (x) => (x === 'pageLoad' ? 'page load' : x);
|
|
81
|
+
return (lodash_1.default.toPairs(body)
|
|
82
|
+
// Only transform the entry if ms value is a valid positive float number
|
|
83
|
+
.filter((pair) => /^\d+(?:[.,]\d*?)?$/.test(`${pair[1]}`))
|
|
84
|
+
.map(function (pair) {
|
|
85
|
+
return {
|
|
86
|
+
type: typeToJSONWP(pair[0]),
|
|
87
|
+
ms: pair[1],
|
|
88
|
+
};
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
return [body];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Proxy an array of timeout objects and merge the result
|
|
95
|
+
* @param {String} url Endpoint url
|
|
96
|
+
* @param {String} method Endpoint method
|
|
97
|
+
* @param {Object} body Request body
|
|
98
|
+
*/
|
|
99
|
+
async proxySetTimeouts(url, method, body) {
|
|
100
|
+
let response, resBody;
|
|
101
|
+
const timeoutRequestObjects = this.getTimeoutRequestObjects(body);
|
|
102
|
+
this.log.debug(`Will send the following request bodies to /timeouts: ${JSON.stringify(timeoutRequestObjects)}`);
|
|
103
|
+
for (const timeoutObj of timeoutRequestObjects) {
|
|
104
|
+
[response, resBody] = await this.proxyFunc(url, method, timeoutObj);
|
|
105
|
+
// If we got a non-MJSONWP response, return the result, nothing left to do
|
|
106
|
+
if (this.downstreamProtocol !== MJSONWP) {
|
|
107
|
+
return [response, resBody];
|
|
108
|
+
}
|
|
109
|
+
// If we got an error, return the error right away
|
|
110
|
+
if (response.statusCode >= 400) {
|
|
111
|
+
return [response, resBody];
|
|
112
|
+
}
|
|
113
|
+
// ...Otherwise, continue to the next timeouts call
|
|
114
|
+
}
|
|
111
115
|
return [response, resBody];
|
|
112
|
-
}
|
|
113
116
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
117
|
+
async proxySetWindow(url, method, body) {
|
|
118
|
+
const bodyObj = support_1.util.safeJsonParse(body);
|
|
119
|
+
if (lodash_1.default.isPlainObject(bodyObj)) {
|
|
120
|
+
if (this.downstreamProtocol === W3C && lodash_1.default.has(bodyObj, 'name') && !lodash_1.default.has(bodyObj, 'handle')) {
|
|
121
|
+
this.log.debug(`Copied 'name' value '${bodyObj.name}' to 'handle' as per W3C spec`);
|
|
122
|
+
return await this.proxyFunc(url, method, {
|
|
123
|
+
...bodyObj,
|
|
124
|
+
handle: bodyObj.name,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (this.downstreamProtocol === MJSONWP &&
|
|
128
|
+
lodash_1.default.has(bodyObj, 'handle') &&
|
|
129
|
+
!lodash_1.default.has(bodyObj, 'name')) {
|
|
130
|
+
this.log.debug(`Copied 'handle' value '${bodyObj.handle}' to 'name' as per JSONWP spec`);
|
|
131
|
+
return await this.proxyFunc(url, method, {
|
|
132
|
+
...bodyObj,
|
|
133
|
+
name: bodyObj.handle,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return await this.proxyFunc(url, method, body);
|
|
138
|
+
}
|
|
139
|
+
async proxySetValue(url, method, body) {
|
|
140
|
+
const bodyObj = support_1.util.safeJsonParse(body);
|
|
141
|
+
if (lodash_1.default.isPlainObject(bodyObj) && (support_1.util.hasValue(bodyObj.text) || support_1.util.hasValue(bodyObj.value))) {
|
|
142
|
+
let { text, value } = bodyObj;
|
|
143
|
+
if (support_1.util.hasValue(text) && !support_1.util.hasValue(value)) {
|
|
144
|
+
value = lodash_1.default.isString(text) ? [...text] : lodash_1.default.isArray(text) ? text : [];
|
|
145
|
+
this.log.debug(`Added 'value' property ${JSON.stringify(value)} to 'setValue' request body`);
|
|
146
|
+
}
|
|
147
|
+
else if (!support_1.util.hasValue(text) && support_1.util.hasValue(value)) {
|
|
148
|
+
text = lodash_1.default.isArray(value) ? value.join('') : lodash_1.default.isString(value) ? value : '';
|
|
149
|
+
this.log.debug(`Added 'text' property ${JSON.stringify(text)} to 'setValue' request body`);
|
|
150
|
+
}
|
|
151
|
+
return await this.proxyFunc(url, method, Object.assign({}, bodyObj, {
|
|
152
|
+
text,
|
|
153
|
+
value,
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
return await this.proxyFunc(url, method, body);
|
|
135
157
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
let {
|
|
145
|
-
text,
|
|
146
|
-
value
|
|
147
|
-
} = bodyObj;
|
|
148
|
-
|
|
149
|
-
if (_support.util.hasValue(text) && !_support.util.hasValue(value)) {
|
|
150
|
-
value = _lodash.default.isString(text) ? [...text] : _lodash.default.isArray(text) ? text : [];
|
|
151
|
-
this.log.debug(`Added 'value' property ${JSON.stringify(value)} to 'setValue' request body`);
|
|
152
|
-
} else if (!_support.util.hasValue(text) && _support.util.hasValue(value)) {
|
|
153
|
-
text = _lodash.default.isArray(value) ? value.join('') : _lodash.default.isString(value) ? value : '';
|
|
154
|
-
this.log.debug(`Added 'text' property ${JSON.stringify(text)} to 'setValue' request body`);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return await this.proxyFunc(url, method, Object.assign({}, bodyObj, {
|
|
158
|
-
text,
|
|
159
|
-
value
|
|
160
|
-
}));
|
|
158
|
+
async proxySetFrame(url, method, body) {
|
|
159
|
+
const bodyObj = support_1.util.safeJsonParse(body);
|
|
160
|
+
return lodash_1.default.has(bodyObj, 'id') && lodash_1.default.isPlainObject(bodyObj.id)
|
|
161
|
+
? await this.proxyFunc(url, method, {
|
|
162
|
+
...bodyObj,
|
|
163
|
+
id: (0, helpers_1.duplicateKeys)(bodyObj.id, constants_1.MJSONWP_ELEMENT_KEY, constants_1.W3C_ELEMENT_KEY),
|
|
164
|
+
})
|
|
165
|
+
: await this.proxyFunc(url, method, body);
|
|
161
166
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const bodyObj = _support.util.safeJsonParse(body);
|
|
168
|
-
|
|
169
|
-
return _lodash.default.has(bodyObj, 'id') && _lodash.default.isPlainObject(bodyObj.id) ? await this.proxyFunc(url, method, { ...bodyObj,
|
|
170
|
-
id: (0, _helpers.duplicateKeys)(bodyObj.id, _constants.MJSONWP_ELEMENT_KEY, _constants.W3C_ELEMENT_KEY)
|
|
171
|
-
}) : await this.proxyFunc(url, method, body);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
async proxyPerformActions(url, method, body) {
|
|
175
|
-
const bodyObj = _support.util.safeJsonParse(body);
|
|
176
|
-
|
|
177
|
-
return _lodash.default.isPlainObject(bodyObj) ? await this.proxyFunc(url, method, (0, _helpers.duplicateKeys)(bodyObj, _constants.MJSONWP_ELEMENT_KEY, _constants.W3C_ELEMENT_KEY)) : await this.proxyFunc(url, method, body);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
async proxyReleaseActions(url, method) {
|
|
181
|
-
return await this.proxyFunc(url, method);
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
async convertAndProxy(commandName, url, method, body) {
|
|
185
|
-
if (!this.downstreamProtocol) {
|
|
186
|
-
return await this.proxyFunc(url, method, body);
|
|
167
|
+
async proxyPerformActions(url, method, body) {
|
|
168
|
+
const bodyObj = support_1.util.safeJsonParse(body);
|
|
169
|
+
return lodash_1.default.isPlainObject(bodyObj)
|
|
170
|
+
? await this.proxyFunc(url, method, (0, helpers_1.duplicateKeys)(bodyObj, constants_1.MJSONWP_ELEMENT_KEY, constants_1.W3C_ELEMENT_KEY))
|
|
171
|
+
: await this.proxyFunc(url, method, body);
|
|
187
172
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
case 'timeouts':
|
|
191
|
-
return await this.proxySetTimeouts(url, method, body);
|
|
192
|
-
|
|
193
|
-
case 'setWindow':
|
|
194
|
-
return await this.proxySetWindow(url, method, body);
|
|
195
|
-
|
|
196
|
-
case 'setValue':
|
|
197
|
-
return await this.proxySetValue(url, method, body);
|
|
198
|
-
|
|
199
|
-
case 'performActions':
|
|
200
|
-
return await this.proxyPerformActions(url, method, body);
|
|
201
|
-
|
|
202
|
-
case 'releaseActions':
|
|
203
|
-
return await this.proxyReleaseActions(url, method);
|
|
204
|
-
|
|
205
|
-
case 'setFrame':
|
|
206
|
-
return await this.proxySetFrame(url, method, body);
|
|
207
|
-
|
|
208
|
-
default:
|
|
209
|
-
break;
|
|
173
|
+
async proxyReleaseActions(url, method) {
|
|
174
|
+
return await this.proxyFunc(url, method);
|
|
210
175
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
176
|
+
/**
|
|
177
|
+
* Handle "crossing" endpoints for the case
|
|
178
|
+
* when upstream and downstream drivers operate different protocols
|
|
179
|
+
*
|
|
180
|
+
* @param {string} commandName
|
|
181
|
+
* @param {string} url
|
|
182
|
+
* @param {string} method
|
|
183
|
+
* @param {?string|object} body
|
|
184
|
+
* @returns The proxyfying result as [response, responseBody] tuple
|
|
185
|
+
*/
|
|
186
|
+
async convertAndProxy(commandName, url, method, body) {
|
|
187
|
+
if (!this.downstreamProtocol) {
|
|
188
|
+
return await this.proxyFunc(url, method, body);
|
|
189
|
+
}
|
|
190
|
+
// Same url, but different arguments
|
|
191
|
+
switch (commandName) {
|
|
192
|
+
case 'timeouts':
|
|
193
|
+
return await this.proxySetTimeouts(url, method, body);
|
|
194
|
+
case 'setWindow':
|
|
195
|
+
return await this.proxySetWindow(url, method, body);
|
|
196
|
+
case 'setValue':
|
|
197
|
+
return await this.proxySetValue(url, method, body);
|
|
198
|
+
case 'performActions':
|
|
199
|
+
return await this.proxyPerformActions(url, method, body);
|
|
200
|
+
case 'releaseActions':
|
|
201
|
+
return await this.proxyReleaseActions(url, method);
|
|
202
|
+
case 'setFrame':
|
|
203
|
+
return await this.proxySetFrame(url, method, body);
|
|
204
|
+
default:
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
// Same arguments, but different URLs
|
|
208
|
+
for (const { commandNames, jsonwpConverter, w3cConverter } of exports.COMMAND_URLS_CONFLICTS) {
|
|
209
|
+
if (!commandNames.includes(commandName)) {
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
const rewrittenUrl = this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);
|
|
213
|
+
if (rewrittenUrl === url) {
|
|
214
|
+
this.log.debug(`Did not know how to rewrite the original URL '${url}' ` +
|
|
215
|
+
`for ${this.downstreamProtocol} protocol`);
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
this.log.info(`Rewrote the original URL '${url}' to '${rewrittenUrl}' ` +
|
|
219
|
+
`for ${this.downstreamProtocol} protocol`);
|
|
220
|
+
return await this.proxyFunc(rewrittenUrl, method, body);
|
|
221
|
+
}
|
|
222
|
+
// No matches found. Proceed normally
|
|
223
|
+
return await this.proxyFunc(url, method, body);
|
|
230
224
|
}
|
|
231
|
-
|
|
232
|
-
return await this.proxyFunc(url, method, body);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
225
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
exports.default = _default;
|
|
239
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT01NQU5EX1VSTFNfQ09ORkxJQ1RTIiwiY29tbWFuZE5hbWVzIiwianNvbndwQ29udmVydGVyIiwidXJsIiwicmVwbGFjZSIsImluY2x1ZGVzIiwidzNjQ29udmVydGVyIiwidGVzdCIsInczY1VybCIsInczY1Byb3BlcnR5UmVnZXgiLCJqc29ud3BVcmwiLCJNSlNPTldQIiwiVzNDIiwiUFJPVE9DT0xTIiwiREVGQVVMVF9MT0ciLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJQcm90b2NvbENvbnZlcnRlciIsImNvbnN0cnVjdG9yIiwicHJveHlGdW5jIiwibG9nIiwiX2Rvd25zdHJlYW1Qcm90b2NvbCIsIl9sb2ciLCJkb3duc3RyZWFtUHJvdG9jb2wiLCJ2YWx1ZSIsImdldFRpbWVvdXRSZXF1ZXN0T2JqZWN0cyIsImJvZHkiLCJfIiwiaGFzIiwidHlwZVRvVzNDIiwieCIsInR5cGUiLCJtcyIsInR5cGVUb0pTT05XUCIsInRvUGFpcnMiLCJmaWx0ZXIiLCJwYWlyIiwibWFwIiwicHJveHlTZXRUaW1lb3V0cyIsIm1ldGhvZCIsInJlc3BvbnNlIiwicmVzQm9keSIsInRpbWVvdXRSZXF1ZXN0T2JqZWN0cyIsImRlYnVnIiwiSlNPTiIsInN0cmluZ2lmeSIsInRpbWVvdXRPYmoiLCJzdGF0dXNDb2RlIiwicHJveHlTZXRXaW5kb3ciLCJib2R5T2JqIiwidXRpbCIsInNhZmVKc29uUGFyc2UiLCJpc1BsYWluT2JqZWN0IiwibmFtZSIsImhhbmRsZSIsInByb3h5U2V0VmFsdWUiLCJoYXNWYWx1ZSIsInRleHQiLCJpc1N0cmluZyIsImlzQXJyYXkiLCJqb2luIiwiT2JqZWN0IiwiYXNzaWduIiwicHJveHlTZXRGcmFtZSIsImlkIiwiZHVwbGljYXRlS2V5cyIsIk1KU09OV1BfRUxFTUVOVF9LRVkiLCJXM0NfRUxFTUVOVF9LRVkiLCJwcm94eVBlcmZvcm1BY3Rpb25zIiwicHJveHlSZWxlYXNlQWN0aW9ucyIsImNvbnZlcnRBbmRQcm94eSIsImNvbW1hbmROYW1lIiwicmV3cml0dGVuVXJsIiwiaW5mbyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9qc29ud3AtcHJveHkvcHJvdG9jb2wtY29udmVydGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge2xvZ2dlciwgdXRpbH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7ZHVwbGljYXRlS2V5c30gZnJvbSAnLi4vYmFzZWRyaXZlci9oZWxwZXJzJztcbmltcG9ydCB7TUpTT05XUF9FTEVNRU5UX0tFWSwgVzNDX0VMRU1FTlRfS0VZLCBQUk9UT0NPTFN9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBDT01NQU5EX1VSTFNfQ09ORkxJQ1RTID0gW1xuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2V4ZWN1dGUnLCAnZXhlY3V0ZUFzeW5jJ10sXG4gICAganNvbndwQ29udmVydGVyOiAodXJsKSA9PlxuICAgICAgdXJsLnJlcGxhY2UoL1xcL2V4ZWN1dGUuKi8sIHVybC5pbmNsdWRlcygnYXN5bmMnKSA/ICcvZXhlY3V0ZV9hc3luYycgOiAnL2V4ZWN1dGUnKSxcbiAgICB3M2NDb252ZXJ0ZXI6ICh1cmwpID0+XG4gICAgICB1cmwucmVwbGFjZSgvXFwvZXhlY3V0ZS4qLywgdXJsLmluY2x1ZGVzKCdhc3luYycpID8gJy9leGVjdXRlL2FzeW5jJyA6ICcvZXhlY3V0ZS9zeW5jJyksXG4gIH0sXG4gIHtcbiAgICBjb21tYW5kTmFtZXM6IFsnZ2V0RWxlbWVudFNjcmVlbnNob3QnXSxcbiAgICBqc29ud3BDb252ZXJ0ZXI6ICh1cmwpID0+IHVybC5yZXBsYWNlKC9cXC9lbGVtZW50XFwvKFteL10rKVxcL3NjcmVlbnNob3QkLywgJy9zY3JlZW5zaG90LyQxJyksXG4gICAgdzNjQ29udmVydGVyOiAodXJsKSA9PiB1cmwucmVwbGFjZSgvXFwvc2NyZWVuc2hvdFxcLyhbXi9dKykvLCAnL2VsZW1lbnQvJDEvc2NyZWVuc2hvdCcpLFxuICB9LFxuICB7XG4gICAgY29tbWFuZE5hbWVzOiBbJ2dldFdpbmRvd0hhbmRsZXMnLCAnZ2V0V2luZG93SGFuZGxlJ10sXG4gICAganNvbndwQ29udmVydGVyKHVybCkge1xuICAgICAgcmV0dXJuIC9cXC93aW5kb3ckLy50ZXN0KHVybClcbiAgICAgICAgPyB1cmwucmVwbGFjZSgvXFwvd2luZG93JC8sICcvd2luZG93X2hhbmRsZScpXG4gICAgICAgIDogdXJsLnJlcGxhY2UoL1xcL3dpbmRvd1xcL2hhbmRsZShzPykkLywgJy93aW5kb3dfaGFuZGxlJDEnKTtcbiAgICB9LFxuICAgIHczY0NvbnZlcnRlcih1cmwpIHtcbiAgICAgIHJldHVybiAvXFwvd2luZG93X2hhbmRsZSQvLnRlc3QodXJsKVxuICAgICAgICA/IHVybC5yZXBsYWNlKC9cXC93aW5kb3dfaGFuZGxlJC8sICcvd2luZG93JylcbiAgICAgICAgOiB1cmwucmVwbGFjZSgvXFwvd2luZG93X2hhbmRsZXMkLywgJy93aW5kb3cvaGFuZGxlcycpO1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBjb21tYW5kTmFtZXM6IFsnZ2V0UHJvcGVydHknXSxcbiAgICBqc29ud3BDb252ZXJ0ZXI6ICh3M2NVcmwpID0+IHtcbiAgICAgIGNvbnN0IHczY1Byb3BlcnR5UmVnZXggPSAvXFwvZWxlbWVudFxcLyhbXi9dKylcXC9wcm9wZXJ0eVxcLyhbXi9dKykvO1xuICAgICAgY29uc3QganNvbndwVXJsID0gdzNjVXJsLnJlcGxhY2UodzNjUHJvcGVydHlSZWdleCwgJy9lbGVtZW50LyQxL2F0dHJpYnV0ZS8kMicpO1xuICAgICAgcmV0dXJuIGpzb253cFVybDtcbiAgICB9LFxuICAgIHczY0NvbnZlcnRlcjogKGpzb253cFVybCkgPT4ganNvbndwVXJsLCAvLyBEb24ndCBjb252ZXJ0IEpTT05XUCBVUkwgdG8gVzNDLiBXM0MgYWNjZXB0cyAvYXR0cmlidXRlIGFuZCAvcHJvcGVydHlcbiAgfSxcbl07XG5jb25zdCB7TUpTT05XUCwgVzNDfSA9IFBST1RPQ09MUztcbmNvbnN0IERFRkFVTFRfTE9HID0gbG9nZ2VyLmdldExvZ2dlcignUHJvdG9jb2wgQ29udmVydGVyJyk7XG5cbmNsYXNzIFByb3RvY29sQ29udmVydGVyIHtcbiAgY29uc3RydWN0b3IocHJveHlGdW5jLCBsb2cgPSBudWxsKSB7XG4gICAgdGhpcy5wcm94eUZ1bmMgPSBwcm94eUZ1bmM7XG4gICAgdGhpcy5fZG93bnN0cmVhbVByb3RvY29sID0gbnVsbDtcbiAgICB0aGlzLl9sb2cgPSBsb2c7XG4gIH1cblxuICBnZXQgbG9nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2cgPz8gREVGQVVMVF9MT0c7XG4gIH1cblxuICBzZXQgZG93bnN0cmVhbVByb3RvY29sKHZhbHVlKSB7XG4gICAgdGhpcy5fZG93bnN0cmVhbVByb3RvY29sID0gdmFsdWU7XG4gIH1cblxuICBnZXQgZG93bnN0cmVhbVByb3RvY29sKCkge1xuICAgIHJldHVybiB0aGlzLl9kb3duc3RyZWFtUHJvdG9jb2w7XG4gIH1cblxuICAvKipcbiAgICogVzNDIC90aW1lb3V0cyBjYW4gdGFrZSBhcyBtYW55IGFzIDMgdGltZW91dCB0eXBlcyBhdCBvbmNlLCBNSlNPTldQIC90aW1lb3V0cyBvbmx5IHRha2VzIG9uZVxuICAgKiBhdCBhIHRpbWUuIFNvIGlmIHdlJ3JlIHVzaW5nIFczQyBhbmQgcHJveHlpbmcgdG8gTUpTT05XUCBhbmQgdGhlcmUncyBtb3JlIHRoYW4gb25lIHRpbWVvdXQgdHlwZVxuICAgKiBwcm92aWRlZCBpbiB0aGUgcmVxdWVzdCwgd2UgbmVlZCB0byBkbyAzIHByb3hpZXMgYW5kIGNvbWJpbmUgdGhlIHJlc3VsdFxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gYm9keSBSZXF1ZXN0IGJvZHlcbiAgICogQHJldHVybiB7QXJyYXl9IEFycmF5IG9mIFczQyArIE1KU09OV1AgY29tcGF0aWJsZSB0aW1lb3V0IG9iamVjdHNcbiAgICovXG4gIGdldFRpbWVvdXRSZXF1ZXN0T2JqZWN0cyhib2R5KSB7XG4gICAgaWYgKHRoaXMuZG93bnN0cmVhbVByb3RvY29sID09PSBXM0MgJiYgXy5oYXMoYm9keSwgJ21zJykgJiYgXy5oYXMoYm9keSwgJ3R5cGUnKSkge1xuICAgICAgY29uc3QgdHlwZVRvVzNDID0gKHgpID0+ICh4ID09PSAncGFnZSBsb2FkJyA/ICdwYWdlTG9hZCcgOiB4KTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBbdHlwZVRvVzNDKGJvZHkudHlwZSldOiBib2R5Lm1zLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiYgKCFfLmhhcyhib2R5LCAnbXMnKSB8fCAhXy5oYXMoYm9keSwgJ3R5cGUnKSkpIHtcbiAgICAgIGNvbnN0IHR5cGVUb0pTT05XUCA9ICh4KSA9PiAoeCA9PT0gJ3BhZ2VMb2FkJyA/ICdwYWdlIGxvYWQnIDogeCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBfLnRvUGFpcnMoYm9keSlcbiAgICAgICAgICAvLyBPbmx5IHRyYW5zZm9ybSB0aGUgZW50cnkgaWYgbXMgdmFsdWUgaXMgYSB2YWxpZCBwb3NpdGl2ZSBmbG9hdCBudW1iZXJcbiAgICAgICAgICAuZmlsdGVyKChwYWlyKSA9PiAvXlxcZCsoPzpbLixdXFxkKj8pPyQvLnRlc3QoYCR7cGFpclsxXX1gKSlcbiAgICAgICAgICAubWFwKGZ1bmN0aW9uIChwYWlyKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0eXBlOiB0eXBlVG9KU09OV1AocGFpclswXSksXG4gICAgICAgICAgICAgIG1zOiBwYWlyWzFdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gW2JvZHldO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3h5IGFuIGFycmF5IG9mIHRpbWVvdXQgb2JqZWN0cyBhbmQgbWVyZ2UgdGhlIHJlc3VsdFxuICAgKiBAcGFyYW0ge1N0cmluZ30gdXJsIEVuZHBvaW50IHVybFxuICAgKiBAcGFyYW0ge1N0cmluZ30gbWV0aG9kIEVuZHBvaW50IG1ldGhvZFxuICAgKiBAcGFyYW0ge09iamVjdH0gYm9keSBSZXF1ZXN0IGJvZHlcbiAgICovXG4gIGFzeW5jIHByb3h5U2V0VGltZW91dHModXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBsZXQgcmVzcG9uc2UsIHJlc0JvZHk7XG5cbiAgICBjb25zdCB0aW1lb3V0UmVxdWVzdE9iamVjdHMgPSB0aGlzLmdldFRpbWVvdXRSZXF1ZXN0T2JqZWN0cyhib2R5KTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhcbiAgICAgIGBXaWxsIHNlbmQgdGhlIGZvbGxvd2luZyByZXF1ZXN0IGJvZGllcyB0byAvdGltZW91dHM6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRpbWVvdXRSZXF1ZXN0T2JqZWN0c1xuICAgICAgKX1gXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IHRpbWVvdXRPYmogb2YgdGltZW91dFJlcXVlc3RPYmplY3RzKSB7XG4gICAgICBbcmVzcG9uc2UsIHJlc0JvZHldID0gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIHRpbWVvdXRPYmopO1xuXG4gICAgICAvLyBJZiB3ZSBnb3QgYSBub24tTUpTT05XUCByZXNwb25zZSwgcmV0dXJuIHRoZSByZXN1bHQsIG5vdGhpbmcgbGVmdCB0byBkb1xuICAgICAgaWYgKHRoaXMuZG93bnN0cmVhbVByb3RvY29sICE9PSBNSlNPTldQKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSBnb3QgYW4gZXJyb3IsIHJldHVybiB0aGUgZXJyb3IgcmlnaHQgYXdheVxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPj0gNDAwKSB7XG4gICAgICAgIHJldHVybiBbcmVzcG9uc2UsIHJlc0JvZHldO1xuICAgICAgfVxuXG4gICAgICAvLyAuLi5PdGhlcndpc2UsIGNvbnRpbnVlIHRvIHRoZSBuZXh0IHRpbWVvdXRzIGNhbGxcbiAgICB9XG4gICAgcmV0dXJuIFtyZXNwb25zZSwgcmVzQm9keV07XG4gIH1cblxuICBhc3luYyBwcm94eVNldFdpbmRvdyh1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGNvbnN0IGJvZHlPYmogPSB1dGlsLnNhZmVKc29uUGFyc2UoYm9keSk7XG4gICAgaWYgKF8uaXNQbGFpbk9iamVjdChib2R5T2JqKSkge1xuICAgICAgaWYgKHRoaXMuZG93bnN0cmVhbVByb3RvY29sID09PSBXM0MgJiYgXy5oYXMoYm9keU9iaiwgJ25hbWUnKSAmJiAhXy5oYXMoYm9keU9iaiwgJ2hhbmRsZScpKSB7XG4gICAgICAgIHRoaXMubG9nLmRlYnVnKGBDb3BpZWQgJ25hbWUnIHZhbHVlICcke2JvZHlPYmoubmFtZX0nIHRvICdoYW5kbGUnIGFzIHBlciBXM0Mgc3BlY2ApO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIHtcbiAgICAgICAgICAuLi5ib2R5T2JqLFxuICAgICAgICAgIGhhbmRsZTogYm9keU9iai5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5kb3duc3RyZWFtUHJvdG9jb2wgPT09IE1KU09OV1AgJiZcbiAgICAgICAgXy5oYXMoYm9keU9iaiwgJ2hhbmRsZScpICYmXG4gICAgICAgICFfLmhhcyhib2R5T2JqLCAnbmFtZScpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoYENvcGllZCAnaGFuZGxlJyB2YWx1ZSAnJHtib2R5T2JqLmhhbmRsZX0nIHRvICduYW1lJyBhcyBwZXIgSlNPTldQIHNwZWNgKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCB7XG4gICAgICAgICAgLi4uYm9keU9iaixcbiAgICAgICAgICBuYW1lOiBib2R5T2JqLmhhbmRsZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgfVxuXG4gIGFzeW5jIHByb3h5U2V0VmFsdWUodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIGlmIChfLmlzUGxhaW5PYmplY3QoYm9keU9iaikgJiYgKHV0aWwuaGFzVmFsdWUoYm9keU9iai50ZXh0KSB8fCB1dGlsLmhhc1ZhbHVlKGJvZHlPYmoudmFsdWUpKSkge1xuICAgICAgbGV0IHt0ZXh0LCB2YWx1ZX0gPSBib2R5T2JqO1xuICAgICAgaWYgKHV0aWwuaGFzVmFsdWUodGV4dCkgJiYgIXV0aWwuaGFzVmFsdWUodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gXy5pc1N0cmluZyh0ZXh0KSA/IFsuLi50ZXh0XSA6IF8uaXNBcnJheSh0ZXh0KSA/IHRleHQgOiBbXTtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoXG4gICAgICAgICAgYEFkZGVkICd2YWx1ZScgcHJvcGVydHkgJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9IHRvICdzZXRWYWx1ZScgcmVxdWVzdCBib2R5YFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICghdXRpbC5oYXNWYWx1ZSh0ZXh0KSAmJiB1dGlsLmhhc1ZhbHVlKHZhbHVlKSkge1xuICAgICAgICB0ZXh0ID0gXy5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmpvaW4oJycpIDogXy5pc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZSA6ICcnO1xuICAgICAgICB0aGlzLmxvZy5kZWJ1ZyhgQWRkZWQgJ3RleHQnIHByb3BlcnR5ICR7SlNPTi5zdHJpbmdpZnkodGV4dCl9IHRvICdzZXRWYWx1ZScgcmVxdWVzdCBib2R5YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eUZ1bmMoXG4gICAgICAgIHVybCxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBib2R5T2JqLCB7XG4gICAgICAgICAgdGV4dCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgfVxuXG4gIGFzeW5jIHByb3h5U2V0RnJhbWUodXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIHJldHVybiBfLmhhcyhib2R5T2JqLCAnaWQnKSAmJiBfLmlzUGxhaW5PYmplY3QoYm9keU9iai5pZClcbiAgICAgID8gYXdhaXQgdGhpcy5wcm94eUZ1bmModXJsLCBtZXRob2QsIHtcbiAgICAgICAgICAuLi5ib2R5T2JqLFxuICAgICAgICAgIGlkOiBkdXBsaWNhdGVLZXlzKGJvZHlPYmouaWQsIE1KU09OV1BfRUxFTUVOVF9LRVksIFczQ19FTEVNRU5UX0tFWSksXG4gICAgICAgIH0pXG4gICAgICA6IGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgfVxuXG4gIGFzeW5jIHByb3h5UGVyZm9ybUFjdGlvbnModXJsLCBtZXRob2QsIGJvZHkpIHtcbiAgICBjb25zdCBib2R5T2JqID0gdXRpbC5zYWZlSnNvblBhcnNlKGJvZHkpO1xuICAgIHJldHVybiBfLmlzUGxhaW5PYmplY3QoYm9keU9iailcbiAgICAgID8gYXdhaXQgdGhpcy5wcm94eUZ1bmMoXG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBkdXBsaWNhdGVLZXlzKGJvZHlPYmosIE1KU09OV1BfRUxFTUVOVF9LRVksIFczQ19FTEVNRU5UX0tFWSlcbiAgICAgICAgKVxuICAgICAgOiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gIH1cblxuICBhc3luYyBwcm94eVJlbGVhc2VBY3Rpb25zKHVybCwgbWV0aG9kKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgXCJjcm9zc2luZ1wiIGVuZHBvaW50cyBmb3IgdGhlIGNhc2VcbiAgICogd2hlbiB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbSBkcml2ZXJzIG9wZXJhdGUgZGlmZmVyZW50IHByb3RvY29sc1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29tbWFuZE5hbWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kXG4gICAqIEBwYXJhbSB7P3N0cmluZ3xvYmplY3R9IGJvZHlcbiAgICogQHJldHVybnMgVGhlIHByb3h5ZnlpbmcgcmVzdWx0IGFzIFtyZXNwb25zZSwgcmVzcG9uc2VCb2R5XSB0dXBsZVxuICAgKi9cbiAgYXN5bmMgY29udmVydEFuZFByb3h5KGNvbW1hbmROYW1lLCB1cmwsIG1ldGhvZCwgYm9keSkge1xuICAgIGlmICghdGhpcy5kb3duc3RyZWFtUHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5RnVuYyh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgfVxuXG4gICAgLy8gU2FtZSB1cmwsIGJ1dCBkaWZmZXJlbnQgYXJndW1lbnRzXG4gICAgc3dpdGNoIChjb21tYW5kTmFtZSkge1xuICAgICAgY2FzZSAndGltZW91dHMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVNldFRpbWVvdXRzKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFdpbmRvdyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5U2V0V2luZG93KHVybCwgbWV0aG9kLCBib2R5KTtcbiAgICAgIGNhc2UgJ3NldFZhbHVlJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRWYWx1ZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBjYXNlICdwZXJmb3JtQWN0aW9ucyc6XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByb3h5UGVyZm9ybUFjdGlvbnModXJsLCBtZXRob2QsIGJvZHkpO1xuICAgICAgY2FzZSAncmVsZWFzZUFjdGlvbnMnOlxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wcm94eVJlbGVhc2VBY3Rpb25zKHVybCwgbWV0aG9kKTtcbiAgICAgIGNhc2UgJ3NldEZyYW1lJzpcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlTZXRGcmFtZSh1cmwsIG1ldGhvZCwgYm9keSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBTYW1lIGFyZ3VtZW50cywgYnV0IGRpZmZlcmVudCBVUkxzXG4gICAgZm9yIChjb25zdCB7Y29tbWFuZE5hbWVzLCBqc29ud3BDb252ZXJ0ZXIsIHczY0NvbnZlcnRlcn0gb2YgQ09NTUFORF9VUkxTX0NPTkZMSUNUUykge1xuICAgICAgaWYgKCFjb21tYW5kTmFtZXMuaW5jbHVkZXMoY29tbWFuZE5hbWUpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXdyaXR0ZW5VcmwgPVxuICAgICAgICB0aGlzLmRvd25zdHJlYW1Qcm90b2NvbCA9PT0gTUpTT05XUCA/IGpzb253cENvbnZlcnRlcih1cmwpIDogdzNjQ29udmVydGVyKHVybCk7XG4gICAgICBpZiAocmV3cml0dGVuVXJsID09PSB1cmwpIHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoXG4gICAgICAgICAgYERpZCBub3Qga25vdyBob3cgdG8gcmV3cml0ZSB0aGUgb3JpZ2luYWwgVVJMICcke3VybH0nIGAgK1xuICAgICAgICAgICAgYGZvciAke3RoaXMuZG93bnN0cmVhbVByb3RvY29sfSBwcm90b2NvbGBcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZy5pbmZvKFxuICAgICAgICBgUmV3cm90ZSB0aGUgb3JpZ2luYWwgVVJMICcke3VybH0nIHRvICcke3Jld3JpdHRlblVybH0nIGAgK1xuICAgICAgICAgIGBmb3IgJHt0aGlzLmRvd25zdHJlYW1Qcm90b2NvbH0gcHJvdG9jb2xgXG4gICAgICApO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHJld3JpdHRlblVybCwgbWV0aG9kLCBib2R5KTtcbiAgICB9XG5cbiAgICAvLyBObyBtYXRjaGVzIGZvdW5kLiBQcm9jZWVkIG5vcm1hbGx5XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucHJveHlGdW5jKHVybCwgbWV0aG9kLCBib2R5KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBQcm90b2NvbENvbnZlcnRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFTyxNQUFNQSxzQkFBc0IsR0FBRyxDQUNwQztFQUNFQyxZQUFZLEVBQUUsQ0FBQyxTQUFELEVBQVksY0FBWixDQURoQjtFQUVFQyxlQUFlLEVBQUdDLEdBQUQsSUFDZkEsR0FBRyxDQUFDQyxPQUFKLENBQVksYUFBWixFQUEyQkQsR0FBRyxDQUFDRSxRQUFKLENBQWEsT0FBYixJQUF3QixnQkFBeEIsR0FBMkMsVUFBdEUsQ0FISjtFQUlFQyxZQUFZLEVBQUdILEdBQUQsSUFDWkEsR0FBRyxDQUFDQyxPQUFKLENBQVksYUFBWixFQUEyQkQsR0FBRyxDQUFDRSxRQUFKLENBQWEsT0FBYixJQUF3QixnQkFBeEIsR0FBMkMsZUFBdEU7QUFMSixDQURvQyxFQVFwQztFQUNFSixZQUFZLEVBQUUsQ0FBQyxzQkFBRCxDQURoQjtFQUVFQyxlQUFlLEVBQUdDLEdBQUQsSUFBU0EsR0FBRyxDQUFDQyxPQUFKLENBQVksaUNBQVosRUFBK0MsZ0JBQS9DLENBRjVCO0VBR0VFLFlBQVksRUFBR0gsR0FBRCxJQUFTQSxHQUFHLENBQUNDLE9BQUosQ0FBWSx1QkFBWixFQUFxQyx3QkFBckM7QUFIekIsQ0FSb0MsRUFh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
|
|
226
|
+
exports.default = ProtocolConverter;
|
|
227
|
+
//# sourceMappingURL=protocol-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-converter.js","names":["COMMAND_URLS_CONFLICTS","commandNames","jsonwpConverter","url","replace","includes","w3cConverter","test","w3cUrl","w3cPropertyRegex","jsonwpUrl","MJSONWP","W3C","PROTOCOLS","DEFAULT_LOG","logger","getLogger","ProtocolConverter","constructor","proxyFunc","log","_downstreamProtocol","_log","downstreamProtocol","value","getTimeoutRequestObjects","body","_","has","typeToW3C","x","type","ms","typeToJSONWP","toPairs","filter","pair","map","proxySetTimeouts","method","response","resBody","timeoutRequestObjects","debug","JSON","stringify","timeoutObj","statusCode","proxySetWindow","bodyObj","util","safeJsonParse","isPlainObject","name","handle","proxySetValue","hasValue","text","isString","isArray","join","Object","assign","proxySetFrame","id","duplicateKeys","MJSONWP_ELEMENT_KEY","W3C_ELEMENT_KEY","proxyPerformActions","proxyReleaseActions","convertAndProxy","commandName","rewrittenUrl","info"],"sources":["../../../lib/jsonwp-proxy/protocol-converter.js"],"sourcesContent":["import _ from 'lodash';\nimport {logger, util} from '@appium/support';\nimport {duplicateKeys} from '../basedriver/helpers';\nimport {MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY, PROTOCOLS} from '../constants';\n\nexport const COMMAND_URLS_CONFLICTS = [\n {\n commandNames: ['execute', 'executeAsync'],\n jsonwpConverter: (url) =>\n url.replace(/\\/execute.*/, url.includes('async') ? '/execute_async' : '/execute'),\n w3cConverter: (url) =>\n url.replace(/\\/execute.*/, url.includes('async') ? '/execute/async' : '/execute/sync'),\n },\n {\n commandNames: ['getElementScreenshot'],\n jsonwpConverter: (url) => url.replace(/\\/element\\/([^/]+)\\/screenshot$/, '/screenshot/$1'),\n w3cConverter: (url) => url.replace(/\\/screenshot\\/([^/]+)/, '/element/$1/screenshot'),\n },\n {\n commandNames: ['getWindowHandles', 'getWindowHandle'],\n jsonwpConverter(url) {\n return /\\/window$/.test(url)\n ? url.replace(/\\/window$/, '/window_handle')\n : url.replace(/\\/window\\/handle(s?)$/, '/window_handle$1');\n },\n w3cConverter(url) {\n return /\\/window_handle$/.test(url)\n ? url.replace(/\\/window_handle$/, '/window')\n : url.replace(/\\/window_handles$/, '/window/handles');\n },\n },\n {\n commandNames: ['getProperty'],\n jsonwpConverter: (w3cUrl) => {\n const w3cPropertyRegex = /\\/element\\/([^/]+)\\/property\\/([^/]+)/;\n const jsonwpUrl = w3cUrl.replace(w3cPropertyRegex, '/element/$1/attribute/$2');\n return jsonwpUrl;\n },\n w3cConverter: (jsonwpUrl) => jsonwpUrl, // Don't convert JSONWP URL to W3C. W3C accepts /attribute and /property\n },\n];\nconst {MJSONWP, W3C} = PROTOCOLS;\nconst DEFAULT_LOG = logger.getLogger('Protocol Converter');\n\nclass ProtocolConverter {\n constructor(proxyFunc, log = null) {\n this.proxyFunc = proxyFunc;\n this._downstreamProtocol = null;\n this._log = log;\n }\n\n get log() {\n return this._log ?? DEFAULT_LOG;\n }\n\n set downstreamProtocol(value) {\n this._downstreamProtocol = value;\n }\n\n get downstreamProtocol() {\n return this._downstreamProtocol;\n }\n\n /**\n * W3C /timeouts can take as many as 3 timeout types at once, MJSONWP /timeouts only takes one\n * at a time. So if we're using W3C and proxying to MJSONWP and there's more than one timeout type\n * provided in the request, we need to do 3 proxies and combine the result\n *\n * @param {Object} body Request body\n * @return {Array} Array of W3C + MJSONWP compatible timeout objects\n */\n getTimeoutRequestObjects(body) {\n if (this.downstreamProtocol === W3C && _.has(body, 'ms') && _.has(body, 'type')) {\n const typeToW3C = (x) => (x === 'page load' ? 'pageLoad' : x);\n return [\n {\n [typeToW3C(body.type)]: body.ms,\n },\n ];\n }\n\n if (this.downstreamProtocol === MJSONWP && (!_.has(body, 'ms') || !_.has(body, 'type'))) {\n const typeToJSONWP = (x) => (x === 'pageLoad' ? 'page load' : x);\n return (\n _.toPairs(body)\n // Only transform the entry if ms value is a valid positive float number\n .filter((pair) => /^\\d+(?:[.,]\\d*?)?$/.test(`${pair[1]}`))\n .map(function (pair) {\n return {\n type: typeToJSONWP(pair[0]),\n ms: pair[1],\n };\n })\n );\n }\n\n return [body];\n }\n\n /**\n * Proxy an array of timeout objects and merge the result\n * @param {String} url Endpoint url\n * @param {String} method Endpoint method\n * @param {Object} body Request body\n */\n async proxySetTimeouts(url, method, body) {\n let response, resBody;\n\n const timeoutRequestObjects = this.getTimeoutRequestObjects(body);\n this.log.debug(\n `Will send the following request bodies to /timeouts: ${JSON.stringify(\n timeoutRequestObjects\n )}`\n );\n for (const timeoutObj of timeoutRequestObjects) {\n [response, resBody] = await this.proxyFunc(url, method, timeoutObj);\n\n // If we got a non-MJSONWP response, return the result, nothing left to do\n if (this.downstreamProtocol !== MJSONWP) {\n return [response, resBody];\n }\n\n // If we got an error, return the error right away\n if (response.statusCode >= 400) {\n return [response, resBody];\n }\n\n // ...Otherwise, continue to the next timeouts call\n }\n return [response, resBody];\n }\n\n async proxySetWindow(url, method, body) {\n const bodyObj = util.safeJsonParse(body);\n if (_.isPlainObject(bodyObj)) {\n if (this.downstreamProtocol === W3C && _.has(bodyObj, 'name') && !_.has(bodyObj, 'handle')) {\n this.log.debug(`Copied 'name' value '${bodyObj.name}' to 'handle' as per W3C spec`);\n return await this.proxyFunc(url, method, {\n ...bodyObj,\n handle: bodyObj.name,\n });\n }\n if (\n this.downstreamProtocol === MJSONWP &&\n _.has(bodyObj, 'handle') &&\n !_.has(bodyObj, 'name')\n ) {\n this.log.debug(`Copied 'handle' value '${bodyObj.handle}' to 'name' as per JSONWP spec`);\n return await this.proxyFunc(url, method, {\n ...bodyObj,\n name: bodyObj.handle,\n });\n }\n }\n\n return await this.proxyFunc(url, method, body);\n }\n\n async proxySetValue(url, method, body) {\n const bodyObj = util.safeJsonParse(body);\n if (_.isPlainObject(bodyObj) && (util.hasValue(bodyObj.text) || util.hasValue(bodyObj.value))) {\n let {text, value} = bodyObj;\n if (util.hasValue(text) && !util.hasValue(value)) {\n value = _.isString(text) ? [...text] : _.isArray(text) ? text : [];\n this.log.debug(\n `Added 'value' property ${JSON.stringify(value)} to 'setValue' request body`\n );\n } else if (!util.hasValue(text) && util.hasValue(value)) {\n text = _.isArray(value) ? value.join('') : _.isString(value) ? value : '';\n this.log.debug(`Added 'text' property ${JSON.stringify(text)} to 'setValue' request body`);\n }\n return await this.proxyFunc(\n url,\n method,\n Object.assign({}, bodyObj, {\n text,\n value,\n })\n );\n }\n\n return await this.proxyFunc(url, method, body);\n }\n\n async proxySetFrame(url, method, body) {\n const bodyObj = util.safeJsonParse(body);\n return _.has(bodyObj, 'id') && _.isPlainObject(bodyObj.id)\n ? await this.proxyFunc(url, method, {\n ...bodyObj,\n id: duplicateKeys(bodyObj.id, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY),\n })\n : await this.proxyFunc(url, method, body);\n }\n\n async proxyPerformActions(url, method, body) {\n const bodyObj = util.safeJsonParse(body);\n return _.isPlainObject(bodyObj)\n ? await this.proxyFunc(\n url,\n method,\n duplicateKeys(bodyObj, MJSONWP_ELEMENT_KEY, W3C_ELEMENT_KEY)\n )\n : await this.proxyFunc(url, method, body);\n }\n\n async proxyReleaseActions(url, method) {\n return await this.proxyFunc(url, method);\n }\n\n /**\n * Handle \"crossing\" endpoints for the case\n * when upstream and downstream drivers operate different protocols\n *\n * @param {string} commandName\n * @param {string} url\n * @param {string} method\n * @param {?string|object} body\n * @returns The proxyfying result as [response, responseBody] tuple\n */\n async convertAndProxy(commandName, url, method, body) {\n if (!this.downstreamProtocol) {\n return await this.proxyFunc(url, method, body);\n }\n\n // Same url, but different arguments\n switch (commandName) {\n case 'timeouts':\n return await this.proxySetTimeouts(url, method, body);\n case 'setWindow':\n return await this.proxySetWindow(url, method, body);\n case 'setValue':\n return await this.proxySetValue(url, method, body);\n case 'performActions':\n return await this.proxyPerformActions(url, method, body);\n case 'releaseActions':\n return await this.proxyReleaseActions(url, method);\n case 'setFrame':\n return await this.proxySetFrame(url, method, body);\n default:\n break;\n }\n\n // Same arguments, but different URLs\n for (const {commandNames, jsonwpConverter, w3cConverter} of COMMAND_URLS_CONFLICTS) {\n if (!commandNames.includes(commandName)) {\n continue;\n }\n\n const rewrittenUrl =\n this.downstreamProtocol === MJSONWP ? jsonwpConverter(url) : w3cConverter(url);\n if (rewrittenUrl === url) {\n this.log.debug(\n `Did not know how to rewrite the original URL '${url}' ` +\n `for ${this.downstreamProtocol} protocol`\n );\n break;\n }\n this.log.info(\n `Rewrote the original URL '${url}' to '${rewrittenUrl}' ` +\n `for ${this.downstreamProtocol} protocol`\n );\n return await this.proxyFunc(rewrittenUrl, method, body);\n }\n\n // No matches found. Proceed normally\n return await this.proxyFunc(url, method, body);\n }\n}\n\nexport default ProtocolConverter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol-converter.js","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/protocol-converter.js"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,6CAA6C;AAC7C,mDAAoD;AACpD,4CAA6E;AAEhE,QAAA,sBAAsB,GAAG;IACpC;QACE,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;QACzC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CACvB,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC;QACnF,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;KACzF;IACD;QACE,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,iCAAiC,EAAE,gBAAgB,CAAC;QAC1F,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;KACtF;IACD;QACE,YAAY,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;QACrD,eAAe,CAAC,GAAG;YACjB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,YAAY,CAAC,GAAG;YACd,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC1D,CAAC;KACF;IACD;QACE,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1B,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;YACjE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;YAC/E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,wEAAwE;KACjH;CACF,CAAC;AACF,MAAM,EAAC,OAAO,EAAE,GAAG,EAAC,GAAG,qBAAS,CAAC;AACjC,MAAM,WAAW,GAAG,gBAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAE3D,MAAM,iBAAiB;IACrB,YAAY,SAAS,EAAE,GAAG,GAAG,IAAI;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,KAAK;QAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,IAAI;QAC3B,IAAI,IAAI,CAAC,kBAAkB,KAAK,GAAG,IAAI,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YAC/E,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO;gBACL;oBACE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;iBAChC;aACF,CAAC;SACH;QAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,OAAO,IAAI,CAAC,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;YACvF,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,OAAO,CACL,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBACb,wEAAwE;iBACvE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBACzD,GAAG,CAAC,UAAU,IAAI;gBACjB,OAAO;oBACL,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;iBACZ,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;SACH;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACtC,IAAI,QAAQ,EAAE,OAAO,CAAC;QAEtB,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,wDAAwD,IAAI,CAAC,SAAS,CACpE,qBAAqB,CACtB,EAAE,CACJ,CAAC;QACF,KAAK,MAAM,UAAU,IAAI,qBAAqB,EAAE;YAC9C,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEpE,0EAA0E;YAC1E,IAAI,IAAI,CAAC,kBAAkB,KAAK,OAAO,EAAE;gBACvC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC5B;YAED,kDAAkD;YAClD,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;gBAC9B,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC5B;YAED,mDAAmD;SACpD;QACD,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACpC,MAAM,OAAO,GAAG,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,gBAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,kBAAkB,KAAK,GAAG,IAAI,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;gBAC1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,+BAA+B,CAAC,CAAC;gBACpF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE;oBACvC,GAAG,OAAO;oBACV,MAAM,EAAE,OAAO,CAAC,IAAI;iBACrB,CAAC,CAAC;aACJ;YACD,IACE,IAAI,CAAC,kBAAkB,KAAK,OAAO;gBACnC,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;gBACxB,CAAC,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EACvB;gBACA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,MAAM,gCAAgC,CAAC,CAAC;gBACzF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE;oBACvC,GAAG,OAAO;oBACV,IAAI,EAAE,OAAO,CAAC,MAAM;iBACrB,CAAC,CAAC;aACJ;SACF;QAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACnC,MAAM,OAAO,GAAG,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,gBAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7F,IAAI,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,OAAO,CAAC;YAC5B,IAAI,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChD,KAAK,GAAG,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CAC7E,CAAC;aACH;iBAAM,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvD,IAAI,GAAG,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;aAC5F;YACD,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,GAAG,EACH,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBACzB,IAAI;gBACJ,KAAK;aACN,CAAC,CACH,CAAC;SACH;QAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACnC,MAAM,OAAO,GAAG,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,gBAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,gBAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE;gBAChC,GAAG,OAAO;gBACV,EAAE,EAAE,IAAA,uBAAa,EAAC,OAAO,CAAC,EAAE,EAAE,+BAAmB,EAAE,2BAAe,CAAC;aACpE,CAAC;YACJ,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACzC,MAAM,OAAO,GAAG,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,gBAAC,CAAC,aAAa,CAAC,OAAO,CAAC;YAC7B,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAClB,GAAG,EACH,MAAM,EACN,IAAA,uBAAa,EAAC,OAAO,EAAE,+BAAmB,EAAE,2BAAe,CAAC,CAC7D;YACH,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM;QACnC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI;QAClD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAChD;QAED,oCAAoC;QACpC,QAAQ,WAAW,EAAE;YACnB,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,KAAK,WAAW;gBACd,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACtD,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,gBAAgB;gBACnB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D,KAAK,gBAAgB;gBACnB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrD,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrD;gBACE,MAAM;SACT;QAED,qCAAqC;QACrC,KAAK,MAAM,EAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAC,IAAI,8BAAsB,EAAE;YAClF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACvC,SAAS;aACV;YAED,MAAM,YAAY,GAChB,IAAI,CAAC,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACjF,IAAI,YAAY,KAAK,GAAG,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iDAAiD,GAAG,IAAI;oBACtD,OAAO,IAAI,CAAC,kBAAkB,WAAW,CAC5C,CAAC;gBACF,MAAM;aACP;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6BAA6B,GAAG,SAAS,YAAY,IAAI;gBACvD,OAAO,IAAI,CAAC,kBAAkB,WAAW,CAC5C,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SACzD;QAED,qCAAqC;QACrC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":";;;yBAmba,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../lib/jsonwp-proxy/proxy.js"],"names":[],"mappings":";;;yBAmba,KAAK,GAAG;IAAC,QAAQ,EAAE;QAAC,IAAI,EAAE,OAAO,WAAW,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAA;KAAC,CAAA;CAAC;AA/YxH;IAgBE,uBA4BC;IA3CD,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,QADW,MAAM,CACV;IACP,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,qBAAqB;IACrB,aADW,MAAM,CACL;IACZ,sBAAsB;IACtB,WADW,MAAM,QACP;IACV,qBAAqB;IACrB,SADW,MAAM,CACT;IAmBN,uBAAyB;IACzB,yBAA+B;IAM/B,sBAA0C;IAC1C,wBAA4C;IAC5C,qCAA+E;IAC/E,UAAoB;IAGtB,eAEC;IAED;;;;;;;;OAQG;IACH,gBAQC;IAED,iCAEC;IAED,6BAEC;IAED,kDAEC;IAED,iCAGC;IAED,8BAEC;IAED,iCAwDC;IAED,0DAiGC;IAED,wDAOC;IAED;;;;;OAKG;IACH,0BAJW,MAAM,UACN,OAAO,eAAe,EAAE,UAAU,GAChC,MAAM,GAAC,SAAS,CAwB5B;IAED,+DAQC;IAED,0DAkDC;IAED,mCAGC;IAED,+CAuCC;CACF"}
|