@reclaimprotocol/attestor-core 3.0.6 → 3.1.1

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.
@@ -0,0 +1,3 @@
1
+ import { Provider } from '../../types';
2
+ declare const HTTP_BASE64_PROVIDER: Provider<'httpb64'>;
3
+ export default HTTP_BASE64_PROVIDER;
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tls_1 = require("@reclaimprotocol/tls");
4
+ const utils_1 = require("ethers/lib/utils");
5
+ const config_1 = require("../../config");
6
+ const utils_2 = require("../../providers/http/utils");
7
+ const utils_3 = require("../../utils");
8
+ const HTTP_BASE64_PROVIDER = {
9
+ hostPort: getHostPort,
10
+ writeRedactionMode(params) {
11
+ return ('writeRedactionMode' in params)
12
+ ? params.writeRedactionMode
13
+ : undefined;
14
+ },
15
+ geoLocation(params) {
16
+ return ('geoLocation' in params)
17
+ ? getGeoLocation(params)
18
+ : undefined;
19
+ },
20
+ additionalClientOptions(params) {
21
+ let defaultOptions = {
22
+ applicationLayerProtocols: ['http/1.1']
23
+ };
24
+ if ('additionalClientOptions' in params) {
25
+ defaultOptions = {
26
+ ...defaultOptions,
27
+ ...params.additionalClientOptions
28
+ };
29
+ }
30
+ return defaultOptions;
31
+ },
32
+ createRequest(secretParams, params) {
33
+ if (!secretParams.cookieStr &&
34
+ !secretParams.authorisationHeader &&
35
+ !secretParams.headers) {
36
+ throw new Error('auth parameters are not set');
37
+ }
38
+ const pubHeaders = params.headers || {};
39
+ const secHeaders = { ...secretParams.headers };
40
+ if (secretParams.cookieStr) {
41
+ secHeaders['Cookie'] = secretParams.cookieStr;
42
+ }
43
+ if (secretParams.authorisationHeader) {
44
+ secHeaders['Authorization'] = secretParams.authorisationHeader;
45
+ }
46
+ const hasUserAgent = Object.keys(pubHeaders)
47
+ .some(k => k.toLowerCase() === 'user-agent') ||
48
+ Object.keys(secHeaders)
49
+ .some(k => k.toLowerCase() === 'user-agent');
50
+ if (!hasUserAgent) {
51
+ //only set user-agent if not set by provider
52
+ pubHeaders['User-Agent'] = config_1.RECLAIM_USER_AGENT;
53
+ }
54
+ const url = new URL(params.url);
55
+ const { pathname } = url;
56
+ const searchParams = params.url.includes('?') ? params.url.split('?')[1] : '';
57
+ utils_3.logger.info({ url: params.url, path: pathname, query: searchParams.toString() });
58
+ const body = params.body instanceof Uint8Array
59
+ ? params.body
60
+ : (0, tls_1.strToUint8Array)(params.body || '');
61
+ const contentLength = body.length;
62
+ const reqLine = `${params.method} ${pathname}${(searchParams === null || searchParams === void 0 ? void 0 : searchParams.length) ? '?' + searchParams : ''} HTTP/1.1`;
63
+ const secHeadersList = (0, utils_2.buildHeaders)(secHeaders);
64
+ utils_3.logger.info({ requestLine: reqLine });
65
+ const httpReqHeaderStr = [
66
+ reqLine,
67
+ `Host: ${getHostHeaderString(url)}`,
68
+ `Content-Length: ${contentLength}`,
69
+ 'Connection: close',
70
+ //no compression
71
+ 'Accept-Encoding: identity',
72
+ ...(0, utils_2.buildHeaders)(pubHeaders),
73
+ ...secHeadersList,
74
+ '\r\n',
75
+ ].join('\r\n');
76
+ const headerStr = (0, tls_1.strToUint8Array)(httpReqHeaderStr);
77
+ const data = (0, tls_1.concatenateUint8Arrays)([headerStr, body]);
78
+ // hide all secret headers
79
+ const secHeadersStr = secHeadersList.join('\r\n');
80
+ const tokenStartIndex = (0, utils_3.findIndexInUint8Array)(data, (0, tls_1.strToUint8Array)(secHeadersStr));
81
+ const redactions = [
82
+ {
83
+ fromIndex: tokenStartIndex,
84
+ toIndex: tokenStartIndex + secHeadersStr.length,
85
+ }
86
+ ];
87
+ return {
88
+ data,
89
+ redactions: redactions,
90
+ };
91
+ },
92
+ getResponseRedactions() {
93
+ return [];
94
+ },
95
+ assertValidProviderReceipt(receipt, params) {
96
+ var _a;
97
+ const extractedParams = {};
98
+ const req = (0, utils_3.getHttpRequestDataFromTranscript)(receipt);
99
+ if (req.method !== params.method.toLowerCase()) {
100
+ throw new Error(`Invalid method: ${req.method}`);
101
+ }
102
+ const url = new URL(params.url);
103
+ const { protocol, pathname } = url;
104
+ if (protocol !== 'https:') {
105
+ utils_3.logger.error('params URL: %s', params.url);
106
+ throw new Error(`Expected protocol: https, found: ${protocol}`);
107
+ }
108
+ const searchParams = params.url.includes('?') ? params.url.split('?')[1] : '';
109
+ const expectedPath = pathname + ((searchParams === null || searchParams === void 0 ? void 0 : searchParams.length) ? '?' + searchParams : '');
110
+ if (req.url !== expectedPath) {
111
+ utils_3.logger.error('params URL: %s', params.url);
112
+ throw new Error(`Expected path: ${expectedPath}, found: ${req.url}`);
113
+ }
114
+ const expectedHostStr = getHostHeaderString(url);
115
+ if (req.headers.host !== expectedHostStr) {
116
+ throw new Error(`Expected host: ${expectedHostStr}, found: ${req.headers.host}`);
117
+ }
118
+ const connectionHeader = req.headers['connection'];
119
+ if (connectionHeader !== 'close') {
120
+ throw new Error(`Connection header must be "close", got "${connectionHeader}"`);
121
+ }
122
+ const serverBlocks = receipt
123
+ .filter(s => s.sender === 'server')
124
+ .map((r) => r.message)
125
+ .filter(b => !b.every(b => b === utils_3.REDACTION_CHAR_CODE)); // filter out fully redacted blocks
126
+ const response = concatArrays(...serverBlocks);
127
+ const res = (0, utils_2.parseHttpResponse)(response);
128
+ if (((res.statusCode / 100) >> 0) !== 2) {
129
+ throw new Error(`Provider returned ${res.statusCode} ${res.statusMessage} error`);
130
+ }
131
+ const bodyStartIdx = (_a = res.bodyStartIndex) !== null && _a !== void 0 ? _a : 0;
132
+ if (bodyStartIdx < 4) {
133
+ utils_3.logger.error({ response: (0, utils_3.uint8ArrayToBinaryStr)(response) });
134
+ throw new Error('Failed to find response body');
135
+ }
136
+ extractedParams['data'] = utils_1.base64.encode(res.body);
137
+ return { extractedParameters: extractedParams };
138
+ },
139
+ };
140
+ function concatArrays(...bufs) {
141
+ const totalSize = bufs.reduce((acc, e) => acc + e.length, 0);
142
+ const merged = new Uint8Array(totalSize);
143
+ let lenDone = 0;
144
+ for (const array of bufs) {
145
+ merged.set(array, lenDone);
146
+ lenDone += array.length;
147
+ }
148
+ return merged;
149
+ }
150
+ function getHostPort(params) {
151
+ const { host } = new URL(getURL(params));
152
+ if (!host) {
153
+ throw new Error('url is incorrect');
154
+ }
155
+ return host;
156
+ }
157
+ /**
158
+ * Obtain the host header string from the URL.
159
+ * https://stackoverflow.com/a/3364396
160
+ */
161
+ function getHostHeaderString(url) {
162
+ const host = url.hostname;
163
+ const port = url.port;
164
+ return port && +port !== config_1.DEFAULT_HTTPS_PORT
165
+ ? `${host}:${port}`
166
+ : host;
167
+ }
168
+ const paramsRegex = /\{\{([^{}]+)}}/sgi;
169
+ function getGeoLocation(v2Params) {
170
+ if (v2Params === null || v2Params === void 0 ? void 0 : v2Params.geoLocation) {
171
+ const paramNames = new Set();
172
+ let geo = v2Params.geoLocation;
173
+ //extract param names
174
+ let match = null;
175
+ while (match = paramsRegex.exec(geo)) {
176
+ paramNames.add(match[1]);
177
+ }
178
+ for (const pn of paramNames) {
179
+ if (v2Params.paramValues && pn in v2Params.paramValues) {
180
+ geo = geo.replaceAll(`{{${pn}}}`, v2Params.paramValues[pn].toString());
181
+ }
182
+ else {
183
+ throw new Error(`parameter "${pn}" value not found in templateParams`);
184
+ }
185
+ }
186
+ return geo;
187
+ }
188
+ return undefined;
189
+ }
190
+ function getURL(v2Params) {
191
+ let hostPort = v2Params === null || v2Params === void 0 ? void 0 : v2Params.url;
192
+ const paramNames = new Set();
193
+ //extract param names
194
+ let match = null;
195
+ while (match = paramsRegex.exec(hostPort)) {
196
+ paramNames.add(match[1]);
197
+ }
198
+ for (const pn of paramNames) {
199
+ if (v2Params.paramValues && pn in v2Params.paramValues) {
200
+ hostPort = hostPort.replaceAll(`{{${pn}}}`, v2Params.paramValues[pn].toString());
201
+ }
202
+ else {
203
+ throw new Error(`parameter "${pn}" value not found in templateParams`);
204
+ }
205
+ }
206
+ return hostPort;
207
+ }
208
+ exports.default = HTTP_BASE64_PROVIDER;
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHBiNjQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBb0c7QUFDcEcsNENBQXlDO0FBQ3pDLHVDQUFtRTtBQUNuRSxvREFFaUM7QUFFakMscUNBS2tCO0FBSWxCLE1BQU0sb0JBQW9CLEdBQXdCO0lBQ2pELFFBQVEsRUFBRSxXQUFXO0lBQ3JCLGtCQUFrQixDQUFDLE1BQU07UUFDeEIsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU0sQ0FBQztZQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUMzQixDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2IsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUFNO1FBQ2pCLE9BQU8sQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDYixDQUFDO0lBQ0QsdUJBQXVCLENBQUMsTUFBTTtRQUM3QixJQUFJLGNBQWMsR0FBeUI7WUFDMUMseUJBQXlCLEVBQUcsQ0FBQyxVQUFVLENBQUM7U0FDeEMsQ0FBQTtRQUNELElBQUcseUJBQXlCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDeEMsY0FBYyxHQUFHO2dCQUNoQixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QjthQUNqQyxDQUFBO1FBQ0YsQ0FBQztRQUVELE9BQU8sY0FBYyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxhQUFhLENBQUMsWUFBWSxFQUFFLE1BQU07UUFDakMsSUFDQyxDQUFDLFlBQVksQ0FBQyxTQUFTO1lBQ2QsQ0FBQyxZQUFZLENBQUMsbUJBQW1CO1lBQ2pDLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFDN0IsQ0FBQztZQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtR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
@@ -0,0 +1,77 @@
1
+ import { ArraySlice, CompleteTLSPacket, ProviderParams, Transcript } from '../../types';
2
+ import { HttpRequest, HttpResponse } from '../../utils';
3
+ export type JSONIndex = {
4
+ start: number;
5
+ end: number;
6
+ };
7
+ type HTTPProviderParams = ProviderParams<'http'>;
8
+ /**
9
+ * Returns only first extracted element
10
+ * @param html
11
+ * @param xpathExpression
12
+ * @param contentsOnly
13
+ */
14
+ export declare function extractHTMLElement(html: string, xpathExpression: string, contentsOnly: boolean): string;
15
+ /**
16
+ * Returns all extracted elements
17
+ * @param html
18
+ * @param xpathExpression
19
+ * @param contentsOnly
20
+ */
21
+ export declare function extractHTMLElements(html: string, xpathExpression: string, contentsOnly: boolean): string[];
22
+ /**
23
+ * returns a single index of extracted element
24
+ * @param html
25
+ * @param xpathExpression
26
+ * @param contentsOnly
27
+ */
28
+ export declare function extractHTMLElementIndex(html: string, xpathExpression: string, contentsOnly: boolean): {
29
+ start: number;
30
+ end: number;
31
+ };
32
+ /**
33
+ * Returns indexes of all extracted elements
34
+ * @param html
35
+ * @param xpathExpression
36
+ * @param contentsOnly
37
+ */
38
+ export declare function extractHTMLElementsIndexes(html: string, xpathExpression: string, contentsOnly: boolean): {
39
+ start: number;
40
+ end: number;
41
+ }[];
42
+ export declare function extractJSONValueIndex(json: string, jsonPath: string): {
43
+ start: number;
44
+ end: number;
45
+ };
46
+ export declare function extractJSONValueIndexes(json: string, jsonPath: string): {
47
+ start: number;
48
+ end: number;
49
+ }[];
50
+ export declare function buildHeaders(input: HTTPProviderParams['headers']): string[];
51
+ /**
52
+ * Converts position in HTTP response body to an absolute position in TLS transcript considering chunked encoding
53
+ * @param pos
54
+ * @param bodyStartIdx
55
+ * @param chunks
56
+ */
57
+ export declare function convertResponsePosToAbsolutePos(pos: number, bodyStartIdx: number, chunks?: ArraySlice[]): number;
58
+ /**
59
+ * Returns parts of response which contain chunk headers and must be redacted out
60
+ * of revealed response part
61
+ * @param from
62
+ * @param to
63
+ * @param chunks
64
+ */
65
+ export declare function getRedactionsForChunkHeaders(from: any, to: number, chunks?: ArraySlice[]): ArraySlice[];
66
+ export declare function parseHttpResponse(buff: Uint8Array): HttpResponse;
67
+ export declare function makeRegex(str: string): any;
68
+ /**
69
+ * Try to match strings that contain templates like {{param}}
70
+ * against redacted string that has *** instead of that param
71
+ */
72
+ export declare function matchRedactedStrings(templateString: Uint8Array, redactedString?: Uint8Array): boolean;
73
+ export declare function generateRequstAndResponseFromTranscript(transcript: Transcript<CompleteTLSPacket>, tlsVersion: string): {
74
+ req: HttpRequest;
75
+ res: HttpResponse;
76
+ };
77
+ export {};
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ // noinspection ExceptionCaughtLocallyJS
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.extractHTMLElement = extractHTMLElement;
5
+ exports.extractHTMLElements = extractHTMLElements;
6
+ exports.extractHTMLElementIndex = extractHTMLElementIndex;
7
+ exports.extractHTMLElementsIndexes = extractHTMLElementsIndexes;
8
+ exports.extractJSONValueIndex = extractJSONValueIndex;
9
+ exports.extractJSONValueIndexes = extractJSONValueIndexes;
10
+ exports.buildHeaders = buildHeaders;
11
+ exports.convertResponsePosToAbsolutePos = convertResponsePosToAbsolutePos;
12
+ exports.getRedactionsForChunkHeaders = getRedactionsForChunkHeaders;
13
+ exports.parseHttpResponse = parseHttpResponse;
14
+ exports.makeRegex = makeRegex;
15
+ exports.matchRedactedStrings = matchRedactedStrings;
16
+ exports.generateRequstAndResponseFromTranscript = generateRequstAndResponseFromTranscript;
17
+ const tls_1 = require("@reclaimprotocol/tls");
18
+ const esprima_next_1 = require("esprima-next");
19
+ const jsonpath_plus_1 = require("jsonpath-plus");
20
+ const utils_1 = require("../../utils");
21
+ let RE2;
22
+ try {
23
+ RE2 = require('re2');
24
+ if (!Object.keys(RE2).length) {
25
+ RE2 = undefined;
26
+ throw new Error();
27
+ }
28
+ }
29
+ catch (_a) {
30
+ console.log('RE2 not found. Using standard regex');
31
+ }
32
+ let jsd;
33
+ if (typeof window !== 'undefined') {
34
+ // @ts-ignore
35
+ jsd = window.jsdom;
36
+ }
37
+ else {
38
+ jsd = require('jsdom');
39
+ }
40
+ /**
41
+ * Returns only first extracted element
42
+ * @param html
43
+ * @param xpathExpression
44
+ * @param contentsOnly
45
+ */
46
+ function extractHTMLElement(html, xpathExpression, contentsOnly) {
47
+ const { start, end } = extractHTMLElementIndex(html, xpathExpression, contentsOnly);
48
+ return html.slice(start, end);
49
+ }
50
+ /**
51
+ * Returns all extracted elements
52
+ * @param html
53
+ * @param xpathExpression
54
+ * @param contentsOnly
55
+ */
56
+ function extractHTMLElements(html, xpathExpression, contentsOnly) {
57
+ const indexes = extractHTMLElementsIndexes(html, xpathExpression, contentsOnly);
58
+ const res = [];
59
+ for (const { start, end } of indexes) {
60
+ res.push(html.slice(start, end));
61
+ }
62
+ return res;
63
+ }
64
+ /**
65
+ * returns a single index of extracted element
66
+ * @param html
67
+ * @param xpathExpression
68
+ * @param contentsOnly
69
+ */
70
+ function extractHTMLElementIndex(html, xpathExpression, contentsOnly) {
71
+ return extractHTMLElementsIndexes(html, xpathExpression, contentsOnly)[0];
72
+ }
73
+ /**
74
+ * Returns indexes of all extracted elements
75
+ * @param html
76
+ * @param xpathExpression
77
+ * @param contentsOnly
78
+ */
79
+ function extractHTMLElementsIndexes(html, xpathExpression, contentsOnly) {
80
+ const dom = new jsd.JSDOM(html, {
81
+ contentType: 'text/html',
82
+ includeNodeLocations: true
83
+ });
84
+ const document = dom.window.document;
85
+ const xpathResult = document.evaluate(xpathExpression, document, null, dom.window.XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
86
+ const nodes = [];
87
+ if ((xpathResult === null || xpathResult === void 0 ? void 0 : xpathResult.resultType) === dom.window.XPathResult.ORDERED_NODE_SNAPSHOT_TYPE &&
88
+ (xpathResult === null || xpathResult === void 0 ? void 0 : xpathResult.snapshotLength)) {
89
+ for (let i = 0; i < xpathResult.snapshotLength; ++i) {
90
+ nodes.push(xpathResult.snapshotItem(i));
91
+ }
92
+ }
93
+ if (!nodes.length) {
94
+ throw new Error(`Failed to find XPath: "${xpathExpression}"`);
95
+ }
96
+ const res = [];
97
+ for (const node of nodes) {
98
+ const nodeLocation = dom.nodeLocation(node);
99
+ if (!nodeLocation) {
100
+ throw new Error(`Failed to find XPath node location: "${xpathExpression}"`);
101
+ }
102
+ if (contentsOnly) {
103
+ const start = nodeLocation.startTag ? nodeLocation.startTag.endOffset : nodeLocation.startOffset;
104
+ const end = nodeLocation.endTag ? nodeLocation.endTag.startOffset : nodeLocation.endOffset;
105
+ res.push({ start, end });
106
+ }
107
+ else {
108
+ res.push({ start: nodeLocation.startOffset, end: nodeLocation.endOffset });
109
+ }
110
+ }
111
+ return res;
112
+ }
113
+ function extractJSONValueIndex(json, jsonPath) {
114
+ return extractJSONValueIndexes(json, jsonPath)[0];
115
+ }
116
+ function extractJSONValueIndexes(json, jsonPath) {
117
+ const pointers = (0, jsonpath_plus_1.JSONPath)({
118
+ path: jsonPath,
119
+ json: JSON.parse(json),
120
+ wrap: false,
121
+ resultType: 'pointer',
122
+ eval: 'safe',
123
+ // @ts-ignore
124
+ ignoreEvalErrors: true
125
+ });
126
+ if (!pointers) {
127
+ throw new Error('jsonPath not found');
128
+ }
129
+ const tree = (0, esprima_next_1.parseScript)('(' + json + ')', { range: true }); //wrap in parentheses for esprima to parse
130
+ if (tree.body[0] instanceof esprima_next_1.ExpressionStatement
131
+ && (tree.body[0].expression instanceof esprima_next_1.ObjectExpression || tree.body[0].expression instanceof esprima_next_1.ArrayExpression)) {
132
+ const traversePointers = Array.isArray(pointers) ? pointers : [pointers];
133
+ const res = [];
134
+ for (const pointer of traversePointers) {
135
+ const index = traverse(tree.body[0].expression, '', [pointer]);
136
+ if (index) {
137
+ res.push({
138
+ start: index.start - 1, //account for '('
139
+ end: index.end - 1,
140
+ });
141
+ }
142
+ }
143
+ return res;
144
+ }
145
+ throw new Error('jsonPath not found');
146
+ }
147
+ /**
148
+ * recursively go through AST tree and build a JSON path while it's not equal to the one we search for
149
+ * @param o - esprima expression for root object
150
+ * @param path - path that is being built
151
+ * @param pointers - JSON pointers to compare to
152
+ */
153
+ function traverse(o, path, pointers) {
154
+ if (o instanceof esprima_next_1.ObjectExpression) {
155
+ for (const p of o.properties) {
156
+ if (!(p instanceof esprima_next_1.Property)) {
157
+ continue;
158
+ }
159
+ const localPath = p.key.type === esprima_next_1.Syntax.Literal
160
+ ? path + '/' + p.key.value
161
+ : path;
162
+ if (pointers.includes(localPath) && 'range' in p && Array.isArray(p.range)) {
163
+ return {
164
+ start: p.range[0],
165
+ end: p.range[1],
166
+ };
167
+ }
168
+ if (p.value instanceof esprima_next_1.ObjectExpression
169
+ || p.value instanceof esprima_next_1.ArrayExpression) {
170
+ const res = traverse(p.value, localPath, pointers);
171
+ if (res) {
172
+ return res;
173
+ }
174
+ }
175
+ }
176
+ }
177
+ if (o instanceof esprima_next_1.ArrayExpression) {
178
+ for (let i = 0; i < o.elements.length; i++) {
179
+ const element = o.elements[i];
180
+ if (!element) {
181
+ continue;
182
+ }
183
+ const localPath = path + '/' + i;
184
+ if (pointers.includes(localPath) &&
185
+ 'range' in element &&
186
+ Array.isArray(element.range)) {
187
+ return {
188
+ start: element.range[0],
189
+ end: element.range[1],
190
+ };
191
+ }
192
+ if (element instanceof esprima_next_1.ObjectExpression) {
193
+ const res = traverse(element, localPath, pointers);
194
+ if (res) {
195
+ return res;
196
+ }
197
+ }
198
+ if (element instanceof esprima_next_1.ArrayExpression) {
199
+ const res = traverse(element, localPath, pointers);
200
+ if (res) {
201
+ return res;
202
+ }
203
+ }
204
+ }
205
+ }
206
+ return null;
207
+ }
208
+ function buildHeaders(input) {
209
+ const headers = [];
210
+ for (const [key, value] of Object.entries(input || {})) {
211
+ headers.push(`${key}: ${value}`);
212
+ }
213
+ return headers;
214
+ }
215
+ /**
216
+ * Converts position in HTTP response body to an absolute position in TLS transcript considering chunked encoding
217
+ * @param pos
218
+ * @param bodyStartIdx
219
+ * @param chunks
220
+ */
221
+ function convertResponsePosToAbsolutePos(pos, bodyStartIdx, chunks) {
222
+ if (chunks === null || chunks === void 0 ? void 0 : chunks.length) {
223
+ let chunkBodyStart = 0;
224
+ for (const chunk of chunks) {
225
+ const chunkSize = chunk.toIndex - chunk.fromIndex;
226
+ if (pos >= chunkBodyStart && pos <= (chunkBodyStart + chunkSize)) {
227
+ return pos - chunkBodyStart + chunk.fromIndex;
228
+ }
229
+ chunkBodyStart += chunkSize;
230
+ }
231
+ throw new Error('position out of range');
232
+ }
233
+ return bodyStartIdx + pos;
234
+ }
235
+ /**
236
+ * Returns parts of response which contain chunk headers and must be redacted out
237
+ * of revealed response part
238
+ * @param from
239
+ * @param to
240
+ * @param chunks
241
+ */
242
+ function getRedactionsForChunkHeaders(from, to, chunks) {
243
+ const res = [];
244
+ if (chunks === null || chunks === void 0 ? void 0 : chunks.length) {
245
+ for (let i = 1; i < (chunks === null || chunks === void 0 ? void 0 : chunks.length); i++) {
246
+ if (chunks[i].fromIndex > from && chunks[i].fromIndex < to) {
247
+ res.push({ fromIndex: chunks[i - 1].toIndex, toIndex: chunks[i].fromIndex });
248
+ }
249
+ }
250
+ }
251
+ return res;
252
+ }
253
+ function parseHttpResponse(buff) {
254
+ const parser = (0, utils_1.makeHttpResponseParser)();
255
+ parser.onChunk(buff);
256
+ parser.streamEnded();
257
+ return parser.res;
258
+ }
259
+ function makeRegex(str) {
260
+ if (RE2 !== undefined) {
261
+ return RE2(str, 'sgiu');
262
+ }
263
+ return new RegExp(str, 'sgi');
264
+ }
265
+ const TEMPLATE_START_CHARCODE = '{'.charCodeAt(0);
266
+ const TEMPLATE_END_CHARCODE = '}'.charCodeAt(0);
267
+ /**
268
+ * Try to match strings that contain templates like {{param}}
269
+ * against redacted string that has *** instead of that param
270
+ */
271
+ function matchRedactedStrings(templateString, redactedString) {
272
+ if (templateString.length === 0 && (redactedString === null || redactedString === void 0 ? void 0 : redactedString.length) === 0) {
273
+ return true;
274
+ }
275
+ if (!redactedString) {
276
+ return false;
277
+ }
278
+ let ts = -1;
279
+ let rs = -1;
280
+ while (ts < templateString.length && rs < redactedString.length) {
281
+ let ct = getTChar();
282
+ let cr = getRChar();
283
+ if (ct !== cr) {
284
+ // only valid if param contains "{" & redacted contains "*"
285
+ if (ct === TEMPLATE_START_CHARCODE && cr === utils_1.REDACTION_CHAR_CODE) {
286
+ //check that the char after first "{" is also "{"
287
+ if (getTChar() !== TEMPLATE_START_CHARCODE) {
288
+ return false;
289
+ }
290
+ //look for first closing bracket
291
+ while (((ct = getTChar()) !== TEMPLATE_END_CHARCODE) && ct !== -1) {
292
+ }
293
+ //look for second closing bracket
294
+ while (((ct = getTChar()) !== TEMPLATE_END_CHARCODE) && ct !== -1) {
295
+ }
296
+ if (ct === -1) {
297
+ return false;
298
+ }
299
+ //find the end of redaction
300
+ while (((cr = getRChar()) === utils_1.REDACTION_CHAR_CODE) && cr !== -1) {
301
+ }
302
+ if (cr === -1) {
303
+ //if there's nothing after template too then both ended at the end of strings
304
+ return getTChar() === -1;
305
+ }
306
+ //rewind redacted string position back 1 char because we read one extra
307
+ rs--;
308
+ }
309
+ else {
310
+ return false;
311
+ }
312
+ }
313
+ }
314
+ function getTChar() {
315
+ ts++;
316
+ if (ts < templateString.length) {
317
+ return templateString[ts];
318
+ }
319
+ else {
320
+ return -1;
321
+ }
322
+ }
323
+ function getRChar() {
324
+ if (!redactedString) {
325
+ return -1;
326
+ }
327
+ rs++;
328
+ if (rs < redactedString.length) {
329
+ return redactedString[rs];
330
+ }
331
+ else {
332
+ return -1;
333
+ }
334
+ }
335
+ return ts === templateString.length && rs === redactedString.length;
336
+ }
337
+ function generateRequstAndResponseFromTranscript(transcript, tlsVersion) {
338
+ const allPackets = transcript;
339
+ const packets = [];
340
+ for (const b of allPackets) {
341
+ if (b.message.type !== 'ciphertext'
342
+ || !(0, utils_1.isApplicationData)(b.message, tlsVersion)) {
343
+ continue;
344
+ }
345
+ const plaintext = tlsVersion === 'TLS1_3'
346
+ ? b.message.plaintext.slice(0, -1)
347
+ : b.message.plaintext;
348
+ packets.push({
349
+ message: plaintext,
350
+ sender: b.sender
351
+ });
352
+ }
353
+ const req = (0, utils_1.getHttpRequestDataFromTranscript)(packets);
354
+ const responsePackets = (0, tls_1.concatenateUint8Arrays)(packets.filter(p => p.sender === 'server').map(p => p.message).filter(b => !b.every(b => b === utils_1.REDACTION_CHAR_CODE)));
355
+ const res = parseHttpResponse(responsePackets);
356
+ return { req, res };
357
+ }
358
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2h0dHBiNjQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdDQUF3Qzs7QUFpRHhDLGdEQU9DO0FBUUQsa0RBWUM7QUFRRCwwREFNQztBQVFELGdFQTRDQztBQUVELHNEQUVDO0FBRUQsMERBa0NDO0FBaUZELG9DQVFDO0FBUUQsMEVBa0JDO0FBU0Qsb0VBV0M7QUFFRCw4Q0FLQztBQUVELDhCQU1DO0FBU0Qsb0RBNEVDO0FBRUQsMEZBMEJDO0FBM2JELDhDQUE2RDtBQUM3RCwrQ0FRcUI7QUFDckIsaURBQXdDO0FBRXhDLHFDQUF1SjtBQVN2SixJQUFJLEdBQUcsQ0FBQTtBQUNQLElBQUksQ0FBQztJQUNKLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEIsSUFBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsR0FBRyxHQUFHLFNBQVMsQ0FBQTtRQUNmLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUNsQixDQUFDO0FBQ0YsQ0FBQztBQUFDLFdBQUssQ0FBQztJQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQTtBQUNuRCxDQUFDO0FBRUQsSUFBSSxHQUFHLENBQUE7QUFFUCxJQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLGFBQWE7SUFDYixHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtBQUNuQixDQUFDO0tBQU0sQ0FBQztJQUNQLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdkIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQ2pDLElBQVksRUFDWixlQUF1QixFQUN2QixZQUFxQjtJQUVyQixNQUFNLEVBQUUsS0FBSyxFQUFFLEdB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
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.providers = void 0;
7
7
  const http_1 = __importDefault(require("../providers/http"));
8
+ const httpb64_1 = __importDefault(require("../providers/httpb64"));
8
9
  exports.providers = {
9
10
  http: http_1.default,
11
+ httpb64: httpb64_1.default
10
12
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFxQztBQUd4QixRQUFBLFNBQVMsR0FFbEI7SUFDSCxJQUFJLEVBQUosY0FBSTtDQUNKLENBQUEifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFxQztBQUNyQyxvRUFBMkM7QUFHOUIsUUFBQSxTQUFTLEdBRWxCO0lBQ0gsSUFBSSxFQUFKLGNBQUk7SUFDSixPQUFPLEVBQVAsaUJBQU87Q0FDUCxDQUFBIn0=
@@ -5,7 +5,7 @@ const server_1 = require("../server");
5
5
  const utils_1 = require("../utils");
6
6
  const DEMO_GEO_LOCATIONS = ['in', 'us'];
7
7
  jest.setTimeout(15000);
8
- describe('TCP Tunnel', () => {
8
+ describe.skip('TCP Tunnel', () => {
9
9
  it.each([...DEMO_GEO_LOCATIONS, 'none'])('should generate a session using a geoLocation (%s)', async (geoLocation) => {
10
10
  const resParser = (0, utils_1.makeHttpResponseParser)();
11
11
  let resolvePromise;
@@ -61,4 +61,4 @@ describe('TCP Tunnel', () => {
61
61
  await session.close();
62
62
  });
63
63
  });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC50Y3AtdHVubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3QudGNwLXR1bm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUF1RTtBQUN2RSx1Q0FBMEM7QUFDMUMscUNBQTBEO0FBRTFELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQTtBQUV2QixRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtJQUUzQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLG9EQUFvRCxFQUFFLEtBQUssRUFBQyxXQUFXLEVBQUUsRUFBRTtRQUNuSCxNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFzQixHQUFFLENBQUE7UUFFMUMsSUFBSSxjQUF3QyxDQUFBO1FBQzVDLElBQUksYUFBaUQsQ0FBQTtRQUVyRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsc0JBQWEsRUFBQztZQUNuQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxXQUFXLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVc7WUFDdEQsTUFBTSxFQUFOLGNBQU07WUFDTixPQUFPLENBQUMsR0FBRztnQkFDVixhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUcsR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQTtZQUNwRCxDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUk7Z0JBQ2IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdkIsSUFBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUMzQixjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLEVBQUksQ0FBQTtnQkFDbkIsQ0FBQztZQUNGLENBQUM7U0FDRCxDQUFDLENBQUE7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4RCxjQUFjLEdBQUcsT0FBTyxDQUFBO1lBQ3hCLGFBQWEsR0FBRyxNQUFNLENBQUE7UUFDdkIsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLEdBQUcsR0FBRyxzREFBc0QsQ0FBQTtRQUNsRSxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBQSxxQkFBZSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDekMsTUFBTSxVQUFVLENBQUE7UUFFaEIsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUEscUJBQWUsRUFBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFbkMsSUFBRyxXQUFXLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTTtRQUNQLENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDM0IsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUN6QixDQUFBO0lBQ0YsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsK0NBQStDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDN0QsTUFBTSxNQUFNLENBQ1gsSUFBQSxzQkFBYSxFQUFDO1lBQ2IsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQU4sY0FBTTtTQUNOLENBQUMsQ0FDRixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDdkIsT0FBTyxFQUFFLDhCQUE4QjtTQUN2QyxDQUFDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLElBQUcsRUFBRTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsc0JBQWEsRUFBQztZQUNuQyxJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLElBQUksRUFBRSxFQUFFO1lBQ1IsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFOLGNBQU07U0FDTixDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN0QixDQUFDLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBIn0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC50Y3AtdHVubmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RzL3Rlc3QudGNwLXR1bm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhDQUF1RTtBQUN2RSx1Q0FBMEM7QUFDMUMscUNBQTBEO0FBRTFELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFNLENBQUMsQ0FBQTtBQUV2QixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFFaEMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxvREFBb0QsRUFBRSxLQUFLLEVBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbkgsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsR0FBRSxDQUFBO1FBRTFDLElBQUksY0FBd0MsQ0FBQTtRQUM1QyxJQUFJLGFBQWlELENBQUE7UUFFckQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEVBQUM7WUFDbkMsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsV0FBVyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ3RELE1BQU0sRUFBTixjQUFNO1lBQ04sT0FBTyxDQUFDLEdBQUc7Z0JBQ1YsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFHLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUE7WUFDcEQsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJO2dCQUNiLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3ZCLElBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDM0IsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxFQUFJLENBQUE7Z0JBQ25CLENBQUM7WUFDRixDQUFDO1NBQ0QsQ0FBQyxDQUFBO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDeEQsY0FBYyxHQUFHLE9BQU8sQ0FBQTtZQUN4QixhQUFhLEdBQUcsTUFBTSxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxHQUFHLEdBQUcsc0RBQXNELENBQUE7UUFDbEUsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUEscUJBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sVUFBVSxDQUFBO1FBRWhCLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3JCLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFBLHFCQUFlLEVBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRW5DLElBQUcsV0FBVyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE9BQU07UUFDUCxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzNCLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FDekIsQ0FBQTtJQUNGLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLCtDQUErQyxFQUFFLEtBQUssSUFBRyxFQUFFO1FBQzdELE1BQU0sTUFBTSxDQUNYLElBQUEsc0JBQWEsRUFBQztZQUNiLElBQUksRUFBRSxhQUFhO1lBQ25CLElBQUksRUFBRSxFQUFFO1lBQ1IsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFOLGNBQU07U0FDTixDQUFDLENBQ0YsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSw4QkFBOEI7U0FDdkMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFHLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHNCQUFhLEVBQUM7WUFDbkMsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE1BQU0sRUFBTixjQUFNO1NBQ04sQ0FBQyxDQUFBO1FBRUYsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDdEIsQ0FBQyxDQUFDLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQSJ9
@@ -256,6 +256,10 @@ export interface ProvidersConfig {
256
256
  parameters: HttpProviderParameters;
257
257
  secretParameters: HttpProviderSecretParameters;
258
258
  };
259
+ httpb64: {
260
+ parameters: HttpProviderParameters;
261
+ secretParameters: HttpProviderSecretParameters;
262
+ };
259
263
  }
260
264
  export declare const PROVIDER_SCHEMAS: {
261
265
  http: {
@@ -410,5 +414,157 @@ export declare const PROVIDER_SCHEMAS: {
410
414
  additionalProperties: boolean;
411
415
  };
412
416
  };
417
+ httpb64: {
418
+ parameters: {
419
+ title: string;
420
+ type: string;
421
+ required: string[];
422
+ properties: {
423
+ url: {
424
+ type: string;
425
+ format: string;
426
+ description: string;
427
+ };
428
+ method: {
429
+ type: string;
430
+ enum: string[];
431
+ };
432
+ geoLocation: {
433
+ type: string;
434
+ nullable: boolean;
435
+ pattern: string;
436
+ description: string;
437
+ };
438
+ headers: {
439
+ type: string;
440
+ description: string;
441
+ additionalProperties: {
442
+ type: string;
443
+ };
444
+ };
445
+ body: {
446
+ description: string;
447
+ oneOf: ({
448
+ type: string;
449
+ format: string;
450
+ } | {
451
+ type: string;
452
+ format?: undefined;
453
+ })[];
454
+ };
455
+ writeRedactionMode: {
456
+ type: string;
457
+ description: string;
458
+ enum: string[];
459
+ };
460
+ additionalClientOptions: {
461
+ type: string;
462
+ description: string;
463
+ nullable: boolean;
464
+ properties: {
465
+ supportedProtocolVersions: {
466
+ type: string;
467
+ minItems: number;
468
+ uniqueItems: boolean;
469
+ items: {
470
+ type: string;
471
+ enum: string[];
472
+ };
473
+ };
474
+ };
475
+ };
476
+ responseMatches: {
477
+ type: string;
478
+ minItems: number;
479
+ uniqueItems: boolean;
480
+ description: string;
481
+ items: {
482
+ type: string;
483
+ required: string[];
484
+ properties: {
485
+ value: {
486
+ type: string;
487
+ description: string;
488
+ };
489
+ type: {
490
+ type: string;
491
+ description: string;
492
+ enum: string[];
493
+ };
494
+ invert: {
495
+ type: string;
496
+ description: string;
497
+ };
498
+ };
499
+ additionalProperties: boolean;
500
+ };
501
+ };
502
+ responseRedactions: {
503
+ type: string;
504
+ uniqueItems: boolean;
505
+ description: string;
506
+ items: {
507
+ type: string;
508
+ properties: {
509
+ xPath: {
510
+ type: string;
511
+ nullable: boolean;
512
+ description: string;
513
+ };
514
+ jsonPath: {
515
+ type: string;
516
+ nullable: boolean;
517
+ description: string;
518
+ };
519
+ regex: {
520
+ type: string;
521
+ nullable: boolean;
522
+ description: string;
523
+ };
524
+ };
525
+ additionalProperties: boolean;
526
+ };
527
+ };
528
+ paramValues: {
529
+ type: string;
530
+ description: string;
531
+ additionalProperties: {
532
+ type: string;
533
+ };
534
+ };
535
+ };
536
+ additionalProperties: boolean;
537
+ };
538
+ secretParameters: {
539
+ title: string;
540
+ type: string;
541
+ description: string;
542
+ properties: {
543
+ cookieStr: {
544
+ type: string;
545
+ description: string;
546
+ };
547
+ authorisationHeader: {
548
+ type: string;
549
+ description: string;
550
+ };
551
+ headers: {
552
+ type: string;
553
+ description: string;
554
+ additionalProperties: {
555
+ type: string;
556
+ };
557
+ };
558
+ paramValues: {
559
+ type: string;
560
+ description: string;
561
+ additionalProperties: {
562
+ type: string;
563
+ };
564
+ };
565
+ };
566
+ additionalProperties: boolean;
567
+ };
568
+ };
413
569
  };
414
570
  export {};
@@ -10,5 +10,9 @@ exports.PROVIDER_SCHEMAS = {
10
10
  parameters: exports.HttpProviderParametersJson,
11
11
  secretParameters: exports.HttpProviderSecretParametersJson
12
12
  },
13
+ httpb64: {
14
+ parameters: exports.HttpProviderParametersJson,
15
+ secretParameters: exports.HttpProviderSecretParametersJson
16
+ },
13
17
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmdlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wcm92aWRlcnMuZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsaUNBQWlDOzs7QUFrRnBCLFFBQUEsMEJBQTBCLEdBQUcsRUFBQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsQ0FBQyxLQUFLLEVBQUMsUUFBUSxFQUFDLGlCQUFpQixDQUFDLEVBQUMsWUFBWSxFQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFDLGFBQWEsRUFBQyxtSEFBbUgsRUFBQyxFQUFDLFFBQVEsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsTUFBTSxFQUFDLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsT0FBTyxDQUFDLEVBQUMsRUFBQyxhQUFhLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLGlCQUFpQixFQUFDLGFBQWEsRUFBQyw4RkFBOEYsRUFBQyxFQUFDLFNBQVMsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsYUFBYSxFQUFDLG9NQUFvTSxFQUFDLHNCQUFzQixFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUMsYUFBYSxFQUFDLDBCQUEwQixFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxFQUFDLG9CQUFvQixFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxhQUFhLEVBQUMsc0lBQXNJLEVBQUMsTUFBTSxFQUFDLENBQUMsSUFB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
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmdlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wcm92aWRlcnMuZ2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsaUNBQWlDOzs7QUFrRnBCLFFBQUEsMEJBQTBCLEdBQUcsRUFBQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxVQUFVLEVBQUMsQ0FBQyxLQUFLLEVBQUMsUUFBUSxFQUFDLGlCQUFpQixDQUFDLEVBQUMsWUFBWSxFQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsS0FBSyxFQUFDLGFBQWEsRUFBQyxtSEFBbUgsRUFBQyxFQUFDLFFBQVEsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsTUFBTSxFQUFDLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsT0FBTyxDQUFDLEVBQUMsRUFBQyxhQUFhLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLGlCQUFpQixFQUFDLGFBQWEsRUFBQyw4RkFBOEYsRUFBQyxFQUFDLFNBQVMsRUFBQyxFQUFDLE1BQU0sRUFBQyxRQUFRLEVBQUMsYUFBYSxFQUFDLG9NQUFvTSxFQUFDLHNCQUFzQixFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUMsYUFBYSxFQUFDLDBCQUEwQixFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxFQUFDLG9CQUFvQixFQUFDLEVBQUMsTUFBTSxFQUFDLFFBQVEsRUFBQyxhQUFhLEVBQUMsc0lBQXNJLEVBQUMsTUFBTSxFQUFDLENBQUMsSUFB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reclaimprotocol/attestor-core",
3
- "version": "3.0.6",
3
+ "version": "3.1.1",
4
4
  "description": "",
5
5
  "main": "lib/index",
6
6
  "scripts": {