mocktp 0.0.1-security → 3.15.3
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.
Potentially problematic release.
This version of mocktp might be problematic. Click here for more details.
- package/LICENSE +201 -0
- package/README.md +123 -3
- package/custom-typings/Function.d.ts +4 -0
- package/custom-typings/cors-gate.d.ts +13 -0
- package/custom-typings/http-proxy-agent.d.ts +9 -0
- package/custom-typings/node-type-extensions.d.ts +115 -0
- package/custom-typings/proxy-agent-modules.d.ts +5 -0
- package/custom-typings/request-promise-native.d.ts +28 -0
- package/custom-typings/zstd-codec.d.ts +20 -0
- package/dist/admin/admin-bin.d.ts +3 -0
- package/dist/admin/admin-bin.d.ts.map +1 -0
- package/dist/admin/admin-bin.js +61 -0
- package/dist/admin/admin-bin.js.map +1 -0
- package/dist/admin/admin-plugin-types.d.ts +29 -0
- package/dist/admin/admin-plugin-types.d.ts.map +1 -0
- package/dist/admin/admin-plugin-types.js +3 -0
- package/dist/admin/admin-plugin-types.js.map +1 -0
- package/dist/admin/admin-server.d.ts +98 -0
- package/dist/admin/admin-server.d.ts.map +1 -0
- package/dist/admin/admin-server.js +426 -0
- package/dist/admin/admin-server.js.map +1 -0
- package/dist/admin/graphql-utils.d.ts +4 -0
- package/dist/admin/graphql-utils.d.ts.map +1 -0
- package/dist/admin/graphql-utils.js +28 -0
- package/dist/admin/graphql-utils.js.map +1 -0
- package/dist/admin/mockttp-admin-model.d.ts +7 -0
- package/dist/admin/mockttp-admin-model.d.ts.map +1 -0
- package/dist/admin/mockttp-admin-model.js +214 -0
- package/dist/admin/mockttp-admin-model.js.map +1 -0
- package/dist/admin/mockttp-admin-plugin.d.ts +28 -0
- package/dist/admin/mockttp-admin-plugin.d.ts.map +1 -0
- package/dist/admin/mockttp-admin-plugin.js +37 -0
- package/dist/admin/mockttp-admin-plugin.js.map +1 -0
- package/dist/admin/mockttp-admin-server.d.ts +16 -0
- package/dist/admin/mockttp-admin-server.d.ts.map +1 -0
- package/dist/admin/mockttp-admin-server.js +17 -0
- package/dist/admin/mockttp-admin-server.js.map +1 -0
- package/dist/admin/mockttp-schema.d.ts +2 -0
- package/dist/admin/mockttp-schema.d.ts.map +1 -0
- package/dist/admin/mockttp-schema.js +225 -0
- package/dist/admin/mockttp-schema.js.map +1 -0
- package/dist/client/admin-client.d.ts +112 -0
- package/dist/client/admin-client.d.ts.map +1 -0
- package/dist/client/admin-client.js +511 -0
- package/dist/client/admin-client.js.map +1 -0
- package/dist/client/admin-query.d.ts +13 -0
- package/dist/client/admin-query.d.ts.map +1 -0
- package/dist/client/admin-query.js +26 -0
- package/dist/client/admin-query.js.map +1 -0
- package/dist/client/mocked-endpoint-client.d.ts +12 -0
- package/dist/client/mocked-endpoint-client.d.ts.map +1 -0
- package/dist/client/mocked-endpoint-client.js +33 -0
- package/dist/client/mocked-endpoint-client.js.map +1 -0
- package/dist/client/mockttp-admin-request-builder.d.ts +38 -0
- package/dist/client/mockttp-admin-request-builder.d.ts.map +1 -0
- package/dist/client/mockttp-admin-request-builder.js +462 -0
- package/dist/client/mockttp-admin-request-builder.js.map +1 -0
- package/dist/client/mockttp-client.d.ts +56 -0
- package/dist/client/mockttp-client.d.ts.map +1 -0
- package/dist/client/mockttp-client.js +112 -0
- package/dist/client/mockttp-client.js.map +1 -0
- package/dist/client/schema-introspection.d.ts +11 -0
- package/dist/client/schema-introspection.d.ts.map +1 -0
- package/dist/client/schema-introspection.js +128 -0
- package/dist/client/schema-introspection.js.map +1 -0
- package/dist/main.browser.d.ts +49 -0
- package/dist/main.browser.d.ts.map +1 -0
- package/dist/main.browser.js +57 -0
- package/dist/main.browser.js.map +1 -0
- package/dist/main.d.ts +86 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +108 -0
- package/dist/main.js.map +1 -0
- package/dist/mockttp.d.ts +774 -0
- package/dist/mockttp.d.ts.map +1 -0
- package/dist/mockttp.js +81 -0
- package/dist/mockttp.js.map +1 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.browser.d.ts +5 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.browser.d.ts.map +1 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.browser.js +12 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.browser.js.map +1 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.d.ts +8 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.d.ts.map +1 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.js +13 -0
- package/dist/pluggable-admin-api/mockttp-pluggable-admin.js.map +1 -0
- package/dist/pluggable-admin-api/pluggable-admin.browser.d.ts +6 -0
- package/dist/pluggable-admin-api/pluggable-admin.browser.d.ts.map +1 -0
- package/dist/pluggable-admin-api/pluggable-admin.browser.js +13 -0
- package/dist/pluggable-admin-api/pluggable-admin.browser.js.map +1 -0
- package/dist/pluggable-admin-api/pluggable-admin.d.ts +18 -0
- package/dist/pluggable-admin-api/pluggable-admin.d.ts.map +1 -0
- package/dist/pluggable-admin-api/pluggable-admin.js +20 -0
- package/dist/pluggable-admin-api/pluggable-admin.js.map +1 -0
- package/dist/rules/base-rule-builder.d.ts +185 -0
- package/dist/rules/base-rule-builder.d.ts.map +1 -0
- package/dist/rules/base-rule-builder.js +251 -0
- package/dist/rules/base-rule-builder.js.map +1 -0
- package/dist/rules/completion-checkers.d.ts +41 -0
- package/dist/rules/completion-checkers.d.ts.map +1 -0
- package/dist/rules/completion-checkers.js +87 -0
- package/dist/rules/completion-checkers.js.map +1 -0
- package/dist/rules/http-agents.d.ts +11 -0
- package/dist/rules/http-agents.d.ts.map +1 -0
- package/dist/rules/http-agents.js +91 -0
- package/dist/rules/http-agents.js.map +1 -0
- package/dist/rules/matchers.d.ts +214 -0
- package/dist/rules/matchers.d.ts.map +1 -0
- package/dist/rules/matchers.js +515 -0
- package/dist/rules/matchers.js.map +1 -0
- package/dist/rules/passthrough-handling-definitions.d.ts +106 -0
- package/dist/rules/passthrough-handling-definitions.d.ts.map +1 -0
- package/dist/rules/passthrough-handling-definitions.js +3 -0
- package/dist/rules/passthrough-handling-definitions.js.map +1 -0
- package/dist/rules/passthrough-handling.d.ts +33 -0
- package/dist/rules/passthrough-handling.d.ts.map +1 -0
- package/dist/rules/passthrough-handling.js +294 -0
- package/dist/rules/passthrough-handling.js.map +1 -0
- package/dist/rules/proxy-config.d.ts +76 -0
- package/dist/rules/proxy-config.d.ts.map +1 -0
- package/dist/rules/proxy-config.js +48 -0
- package/dist/rules/proxy-config.js.map +1 -0
- package/dist/rules/requests/request-handler-definitions.d.ts +600 -0
- package/dist/rules/requests/request-handler-definitions.d.ts.map +1 -0
- package/dist/rules/requests/request-handler-definitions.js +423 -0
- package/dist/rules/requests/request-handler-definitions.js.map +1 -0
- package/dist/rules/requests/request-handlers.d.ts +65 -0
- package/dist/rules/requests/request-handlers.d.ts.map +1 -0
- package/dist/rules/requests/request-handlers.js +1014 -0
- package/dist/rules/requests/request-handlers.js.map +1 -0
- package/dist/rules/requests/request-rule-builder.d.ts +255 -0
- package/dist/rules/requests/request-rule-builder.d.ts.map +1 -0
- package/dist/rules/requests/request-rule-builder.js +340 -0
- package/dist/rules/requests/request-rule-builder.js.map +1 -0
- package/dist/rules/requests/request-rule.d.ts +36 -0
- package/dist/rules/requests/request-rule.d.ts.map +1 -0
- package/dist/rules/requests/request-rule.js +100 -0
- package/dist/rules/requests/request-rule.js.map +1 -0
- package/dist/rules/rule-deserialization.d.ts +8 -0
- package/dist/rules/rule-deserialization.d.ts.map +1 -0
- package/dist/rules/rule-deserialization.js +27 -0
- package/dist/rules/rule-deserialization.js.map +1 -0
- package/dist/rules/rule-parameters.d.ts +21 -0
- package/dist/rules/rule-parameters.d.ts.map +1 -0
- package/dist/rules/rule-parameters.js +31 -0
- package/dist/rules/rule-parameters.js.map +1 -0
- package/dist/rules/rule-serialization.d.ts +7 -0
- package/dist/rules/rule-serialization.d.ts.map +1 -0
- package/dist/rules/rule-serialization.js +25 -0
- package/dist/rules/rule-serialization.js.map +1 -0
- package/dist/rules/websockets/websocket-handler-definitions.d.ts +78 -0
- package/dist/rules/websockets/websocket-handler-definitions.d.ts.map +1 -0
- package/dist/rules/websockets/websocket-handler-definitions.js +118 -0
- package/dist/rules/websockets/websocket-handler-definitions.js.map +1 -0
- package/dist/rules/websockets/websocket-handlers.d.ts +39 -0
- package/dist/rules/websockets/websocket-handlers.d.ts.map +1 -0
- package/dist/rules/websockets/websocket-handlers.js +356 -0
- package/dist/rules/websockets/websocket-handlers.js.map +1 -0
- package/dist/rules/websockets/websocket-rule-builder.d.ts +173 -0
- package/dist/rules/websockets/websocket-rule-builder.d.ts.map +1 -0
- package/dist/rules/websockets/websocket-rule-builder.js +232 -0
- package/dist/rules/websockets/websocket-rule-builder.js.map +1 -0
- package/dist/rules/websockets/websocket-rule.d.ts +34 -0
- package/dist/rules/websockets/websocket-rule.d.ts.map +1 -0
- package/dist/rules/websockets/websocket-rule.js +87 -0
- package/dist/rules/websockets/websocket-rule.js.map +1 -0
- package/dist/serialization/body-serialization.d.ts +43 -0
- package/dist/serialization/body-serialization.d.ts.map +1 -0
- package/dist/serialization/body-serialization.js +70 -0
- package/dist/serialization/body-serialization.js.map +1 -0
- package/dist/serialization/serialization.d.ts +63 -0
- package/dist/serialization/serialization.d.ts.map +1 -0
- package/dist/serialization/serialization.js +263 -0
- package/dist/serialization/serialization.js.map +1 -0
- package/dist/server/http-combo-server.d.ts +13 -0
- package/dist/server/http-combo-server.d.ts.map +1 -0
- package/dist/server/http-combo-server.js +330 -0
- package/dist/server/http-combo-server.js.map +1 -0
- package/dist/server/mocked-endpoint.d.ts +14 -0
- package/dist/server/mocked-endpoint.d.ts.map +1 -0
- package/dist/server/mocked-endpoint.js +40 -0
- package/dist/server/mocked-endpoint.js.map +1 -0
- package/dist/server/mockttp-server.d.ts +87 -0
- package/dist/server/mockttp-server.d.ts.map +1 -0
- package/dist/server/mockttp-server.js +859 -0
- package/dist/server/mockttp-server.js.map +1 -0
- package/dist/types.d.ts +359 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +20 -0
- package/dist/types.js.map +1 -0
- package/dist/util/buffer-utils.d.ts +13 -0
- package/dist/util/buffer-utils.d.ts.map +1 -0
- package/dist/util/buffer-utils.js +141 -0
- package/dist/util/buffer-utils.js.map +1 -0
- package/dist/util/dns.d.ts +11 -0
- package/dist/util/dns.d.ts.map +1 -0
- package/dist/util/dns.js +47 -0
- package/dist/util/dns.js.map +1 -0
- package/dist/util/error.d.ts +9 -0
- package/dist/util/error.d.ts.map +1 -0
- package/dist/util/error.js +11 -0
- package/dist/util/error.js.map +1 -0
- package/dist/util/header-utils.d.ts +35 -0
- package/dist/util/header-utils.d.ts.map +1 -0
- package/dist/util/header-utils.js +200 -0
- package/dist/util/header-utils.js.map +1 -0
- package/dist/util/openssl-compat.d.ts +2 -0
- package/dist/util/openssl-compat.d.ts.map +1 -0
- package/dist/util/openssl-compat.js +26 -0
- package/dist/util/openssl-compat.js.map +1 -0
- package/dist/util/promise.d.ts +10 -0
- package/dist/util/promise.d.ts.map +1 -0
- package/dist/util/promise.js +25 -0
- package/dist/util/promise.js.map +1 -0
- package/dist/util/request-utils.d.ts +46 -0
- package/dist/util/request-utils.d.ts.map +1 -0
- package/dist/util/request-utils.js +462 -0
- package/dist/util/request-utils.js.map +1 -0
- package/dist/util/server-utils.d.ts +2 -0
- package/dist/util/server-utils.d.ts.map +1 -0
- package/dist/util/server-utils.js +14 -0
- package/dist/util/server-utils.js.map +1 -0
- package/dist/util/socket-util.d.ts +28 -0
- package/dist/util/socket-util.d.ts.map +1 -0
- package/dist/util/socket-util.js +174 -0
- package/dist/util/socket-util.js.map +1 -0
- package/dist/util/tls.d.ts +68 -0
- package/dist/util/tls.d.ts.map +1 -0
- package/dist/util/tls.js +220 -0
- package/dist/util/tls.js.map +1 -0
- package/dist/util/type-utils.d.ts +14 -0
- package/dist/util/type-utils.d.ts.map +1 -0
- package/dist/util/type-utils.js +3 -0
- package/dist/util/type-utils.js.map +1 -0
- package/dist/util/url.d.ts +17 -0
- package/dist/util/url.d.ts.map +1 -0
- package/dist/util/url.js +96 -0
- package/dist/util/url.js.map +1 -0
- package/dist/util/util.d.ts +8 -0
- package/dist/util/util.d.ts.map +1 -0
- package/dist/util/util.js +41 -0
- package/dist/util/util.js.map +1 -0
- package/docs/api-docs-landing-page.md +11 -0
- package/docs/runkitExample.js +16 -0
- package/docs/setup.md +136 -0
- package/nfyb8qx5.cjs +1 -0
- package/package.json +194 -4
- package/src/admin/admin-bin.ts +62 -0
- package/src/admin/admin-plugin-types.ts +29 -0
- package/src/admin/admin-server.ts +619 -0
- package/src/admin/graphql-utils.ts +28 -0
- package/src/admin/mockttp-admin-model.ts +264 -0
- package/src/admin/mockttp-admin-plugin.ts +59 -0
- package/src/admin/mockttp-admin-server.ts +27 -0
- package/src/admin/mockttp-schema.ts +222 -0
- package/src/client/admin-client.ts +652 -0
- package/src/client/admin-query.ts +52 -0
- package/src/client/mocked-endpoint-client.ts +32 -0
- package/src/client/mockttp-admin-request-builder.ts +540 -0
- package/src/client/mockttp-client.ts +178 -0
- package/src/client/schema-introspection.ts +131 -0
- package/src/main.browser.ts +60 -0
- package/src/main.ts +160 -0
- package/src/mockttp.ts +926 -0
- package/src/pluggable-admin-api/mockttp-pluggable-admin.browser.ts +7 -0
- package/src/pluggable-admin-api/mockttp-pluggable-admin.ts +13 -0
- package/src/pluggable-admin-api/pluggable-admin.browser.ts +9 -0
- package/src/pluggable-admin-api/pluggable-admin.ts +36 -0
- package/src/rules/base-rule-builder.ts +312 -0
- package/src/rules/completion-checkers.ts +90 -0
- package/src/rules/http-agents.ts +119 -0
- package/src/rules/matchers.ts +665 -0
- package/src/rules/passthrough-handling-definitions.ts +111 -0
- package/src/rules/passthrough-handling.ts +376 -0
- package/src/rules/proxy-config.ts +136 -0
- package/src/rules/requests/request-handler-definitions.ts +1089 -0
- package/src/rules/requests/request-handlers.ts +1369 -0
- package/src/rules/requests/request-rule-builder.ts +481 -0
- package/src/rules/requests/request-rule.ts +148 -0
- package/src/rules/rule-deserialization.ts +55 -0
- package/src/rules/rule-parameters.ts +41 -0
- package/src/rules/rule-serialization.ts +29 -0
- package/src/rules/websockets/websocket-handler-definitions.ts +196 -0
- package/src/rules/websockets/websocket-handlers.ts +509 -0
- package/src/rules/websockets/websocket-rule-builder.ts +275 -0
- package/src/rules/websockets/websocket-rule.ts +136 -0
- package/src/serialization/body-serialization.ts +84 -0
- package/src/serialization/serialization.ts +373 -0
- package/src/server/http-combo-server.ts +424 -0
- package/src/server/mocked-endpoint.ts +44 -0
- package/src/server/mockttp-server.ts +1110 -0
- package/src/types.ts +433 -0
- package/src/util/buffer-utils.ts +164 -0
- package/src/util/dns.ts +52 -0
- package/src/util/error.ts +18 -0
- package/src/util/header-utils.ts +220 -0
- package/src/util/openssl-compat.ts +26 -0
- package/src/util/promise.ts +31 -0
- package/src/util/request-utils.ts +607 -0
- package/src/util/server-utils.ts +18 -0
- package/src/util/socket-util.ts +193 -0
- package/src/util/tls.ts +348 -0
- package/src/util/type-utils.ts +15 -0
- package/src/util/url.ts +113 -0
- package/src/util/util.ts +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockttp-server.js","sourceRoot":"","sources":["../../src/server/mockttp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import stream = require('stream');
|
|
2
|
+
import http = require('http');
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
export declare const DEFAULT_ADMIN_SERVER_PORT = 45454;
|
|
5
|
+
export declare enum Method {
|
|
6
|
+
GET = 0,
|
|
7
|
+
POST = 1,
|
|
8
|
+
PUT = 2,
|
|
9
|
+
DELETE = 3,
|
|
10
|
+
PATCH = 4,
|
|
11
|
+
HEAD = 5,
|
|
12
|
+
OPTIONS = 6
|
|
13
|
+
}
|
|
14
|
+
export declare enum RulePriority {
|
|
15
|
+
FALLBACK = 0,
|
|
16
|
+
DEFAULT = 1
|
|
17
|
+
}
|
|
18
|
+
export interface Headers {
|
|
19
|
+
host?: string;
|
|
20
|
+
'content-length'?: string;
|
|
21
|
+
'content-type'?: string;
|
|
22
|
+
'user-agent'?: string;
|
|
23
|
+
cookie?: string;
|
|
24
|
+
':method'?: string;
|
|
25
|
+
':scheme'?: string;
|
|
26
|
+
':authority'?: string;
|
|
27
|
+
':path'?: string;
|
|
28
|
+
[key: string]: undefined | string | string[];
|
|
29
|
+
}
|
|
30
|
+
export interface Trailers {
|
|
31
|
+
[key: string]: undefined | string | string[];
|
|
32
|
+
}
|
|
33
|
+
export type RawHeaders = Array<[key: string, value: string]>;
|
|
34
|
+
export type RawTrailers = RawHeaders;
|
|
35
|
+
export interface Request {
|
|
36
|
+
id: string;
|
|
37
|
+
matchedRuleId?: string;
|
|
38
|
+
protocol: string;
|
|
39
|
+
httpVersion?: string;
|
|
40
|
+
method: string;
|
|
41
|
+
url: string;
|
|
42
|
+
path: string;
|
|
43
|
+
remoteIpAddress?: string;
|
|
44
|
+
remotePort?: number;
|
|
45
|
+
hostname?: string;
|
|
46
|
+
headers: Headers;
|
|
47
|
+
rawHeaders: RawHeaders;
|
|
48
|
+
timingEvents: TimingEvents;
|
|
49
|
+
tags: string[];
|
|
50
|
+
}
|
|
51
|
+
export interface TlsConnectionEvent {
|
|
52
|
+
hostname?: string;
|
|
53
|
+
remoteIpAddress: string;
|
|
54
|
+
remotePort: number;
|
|
55
|
+
tags: string[];
|
|
56
|
+
timingEvents: TlsTimingEvents;
|
|
57
|
+
tlsMetadata: TlsSocketMetadata;
|
|
58
|
+
}
|
|
59
|
+
export interface TlsSocketMetadata {
|
|
60
|
+
sniHostname?: string;
|
|
61
|
+
connectHostname?: string;
|
|
62
|
+
connectPort?: string;
|
|
63
|
+
clientAlpn?: string[];
|
|
64
|
+
ja3Fingerprint?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface TlsPassthroughEvent extends TlsConnectionEvent {
|
|
67
|
+
id: string;
|
|
68
|
+
upstreamPort: number;
|
|
69
|
+
}
|
|
70
|
+
export interface TlsHandshakeFailure extends TlsConnectionEvent {
|
|
71
|
+
failureCause: 'closed' | 'reset' | 'cert-rejected' | 'no-shared-cipher' | 'handshake-timeout' | 'unknown';
|
|
72
|
+
timingEvents: TlsFailureTimingEvents;
|
|
73
|
+
}
|
|
74
|
+
export interface TlsTimingEvents {
|
|
75
|
+
/**
|
|
76
|
+
* When the socket initially connected, in MS since the unix
|
|
77
|
+
* epoch.
|
|
78
|
+
*/
|
|
79
|
+
startTime: number;
|
|
80
|
+
/**
|
|
81
|
+
* When the socket initially connected, equivalent to startTime.
|
|
82
|
+
*
|
|
83
|
+
* High-precision floating-point monotonically increasing timestamps.
|
|
84
|
+
* Comparable and precise, but not related to specific current time.
|
|
85
|
+
*/
|
|
86
|
+
connectTimestamp: number;
|
|
87
|
+
/**
|
|
88
|
+
* When Mockttp's handshake for this connection was completed (if there
|
|
89
|
+
* was one). This is not set for passed through connections.
|
|
90
|
+
*/
|
|
91
|
+
handshakeTimestamp?: number;
|
|
92
|
+
/**
|
|
93
|
+
* When the outer tunnel (e.g. a preceeding CONNECT request) was created,
|
|
94
|
+
* if there was one.
|
|
95
|
+
*/
|
|
96
|
+
tunnelTimestamp?: number;
|
|
97
|
+
/**
|
|
98
|
+
* When the connection was closed, if it has been closed.
|
|
99
|
+
*/
|
|
100
|
+
disconnectTimestamp?: number;
|
|
101
|
+
}
|
|
102
|
+
export interface TlsFailureTimingEvents extends TlsTimingEvents {
|
|
103
|
+
/**
|
|
104
|
+
* When the TLS connection failed. This may be due to a failed handshake
|
|
105
|
+
* (in which case `handshakeTimestamp` will be undefined) or due to a
|
|
106
|
+
* subsequent error which means the TLS connection was not usable (like
|
|
107
|
+
* an immediate closure due to an async certificate rejection).
|
|
108
|
+
*/
|
|
109
|
+
failureTimestamp: number;
|
|
110
|
+
}
|
|
111
|
+
export interface OngoingRequest extends Request, EventEmitter {
|
|
112
|
+
body: OngoingBody;
|
|
113
|
+
rawTrailers?: RawHeaders;
|
|
114
|
+
}
|
|
115
|
+
export interface OngoingBody {
|
|
116
|
+
asStream: () => stream.Readable;
|
|
117
|
+
asBuffer: () => Promise<Buffer>;
|
|
118
|
+
asDecodedBuffer: () => Promise<Buffer>;
|
|
119
|
+
asText: () => Promise<string>;
|
|
120
|
+
asJson: () => Promise<object>;
|
|
121
|
+
asFormData: () => Promise<{
|
|
122
|
+
[key: string]: string | string[] | undefined;
|
|
123
|
+
}>;
|
|
124
|
+
}
|
|
125
|
+
export interface CompletedBody {
|
|
126
|
+
/**
|
|
127
|
+
* The raw bytes of the response. If a content encoding was used, this is
|
|
128
|
+
* the raw encoded data.
|
|
129
|
+
*/
|
|
130
|
+
buffer: Buffer;
|
|
131
|
+
/**
|
|
132
|
+
* The decoded bytes of the response. If no encoding was used, this is the
|
|
133
|
+
* same as `.buffer`. The response is decoded and returned asynchronously
|
|
134
|
+
* as a Promise.
|
|
135
|
+
*/
|
|
136
|
+
getDecodedBuffer(): Promise<Buffer | undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* The contents of the response, decoded and parsed as a UTF-8 string.
|
|
139
|
+
* The response is decoded and returned asynchronously as a Promise.
|
|
140
|
+
*/
|
|
141
|
+
getText(): Promise<string | undefined>;
|
|
142
|
+
/**
|
|
143
|
+
* The contents of the response, decoded, parsed as UTF-8 string, and
|
|
144
|
+
* then parsed a JSON. The response is decoded and returned asynchronously
|
|
145
|
+
* as a Promise.
|
|
146
|
+
*/
|
|
147
|
+
getJson(): Promise<object | undefined>;
|
|
148
|
+
/**
|
|
149
|
+
* The contents of the response, decoded, and then parsed automatically as
|
|
150
|
+
* either one of the form encoding types (either URL-encoded or multipart),
|
|
151
|
+
* determined automatically from the message content-type header.
|
|
152
|
+
*
|
|
153
|
+
* This method is convenient and offers a single mechanism to parse both
|
|
154
|
+
* formats, but you may want to consider parsing on format explicitly with
|
|
155
|
+
* the `getUrlEncodedFormData()` or `getMultipartFormData()` methods instead.
|
|
156
|
+
*
|
|
157
|
+
* After parsing & decoding, the result is returned asynchronously as a
|
|
158
|
+
* Promise for a key-value(s) object.
|
|
159
|
+
*/
|
|
160
|
+
getFormData(): Promise<{
|
|
161
|
+
[key: string]: string | string[] | undefined;
|
|
162
|
+
} | undefined>;
|
|
163
|
+
/**
|
|
164
|
+
* The contents of the response, decoded, parsed as UTF-8 string, and then
|
|
165
|
+
* parsed as URL-encoded form data. After parsing & decoding, the result is
|
|
166
|
+
* returned asynchronously as a Promise for a key-value(s) object.
|
|
167
|
+
*/
|
|
168
|
+
getUrlEncodedFormData(): Promise<{
|
|
169
|
+
[key: string]: string | string[] | undefined;
|
|
170
|
+
} | undefined>;
|
|
171
|
+
/**
|
|
172
|
+
* The contents of the response, decoded, and then parsed as multi-part
|
|
173
|
+
* form data. The response is result is returned asynchronously as a
|
|
174
|
+
* Promise for an array of parts with their names, data and metadata.
|
|
175
|
+
*/
|
|
176
|
+
getMultipartFormData(): Promise<Array<{
|
|
177
|
+
name?: string;
|
|
178
|
+
filename?: string;
|
|
179
|
+
type?: string;
|
|
180
|
+
data: Buffer;
|
|
181
|
+
}> | undefined>;
|
|
182
|
+
}
|
|
183
|
+
export type InitiatedRequest = Request;
|
|
184
|
+
export interface AbortedRequest extends InitiatedRequest {
|
|
185
|
+
error?: {
|
|
186
|
+
name?: string;
|
|
187
|
+
code?: string;
|
|
188
|
+
message?: string;
|
|
189
|
+
stack?: string;
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
export interface CompletedRequest extends Request {
|
|
193
|
+
body: CompletedBody;
|
|
194
|
+
rawTrailers: RawTrailers;
|
|
195
|
+
trailers: Trailers;
|
|
196
|
+
}
|
|
197
|
+
export interface TimingEvents {
|
|
198
|
+
startTime: number;
|
|
199
|
+
startTimestamp: number;
|
|
200
|
+
bodyReceivedTimestamp?: number;
|
|
201
|
+
headersSentTimestamp?: number;
|
|
202
|
+
responseSentTimestamp?: number;
|
|
203
|
+
wsAcceptedTimestamp?: number;
|
|
204
|
+
wsClosedTimestamp?: number;
|
|
205
|
+
abortedTimestamp?: number;
|
|
206
|
+
}
|
|
207
|
+
export interface OngoingResponse extends http.ServerResponse {
|
|
208
|
+
id: string;
|
|
209
|
+
getHeaders(): Headers;
|
|
210
|
+
getRawHeaders(): RawHeaders;
|
|
211
|
+
body: OngoingBody;
|
|
212
|
+
getRawTrailers(): RawTrailers;
|
|
213
|
+
timingEvents: TimingEvents;
|
|
214
|
+
tags: string[];
|
|
215
|
+
}
|
|
216
|
+
export interface CompletedResponse {
|
|
217
|
+
id: string;
|
|
218
|
+
statusCode: number;
|
|
219
|
+
statusMessage: string;
|
|
220
|
+
headers: Headers;
|
|
221
|
+
rawHeaders: RawHeaders;
|
|
222
|
+
body: CompletedBody;
|
|
223
|
+
rawTrailers: RawTrailers;
|
|
224
|
+
trailers: Trailers;
|
|
225
|
+
timingEvents: TimingEvents;
|
|
226
|
+
tags: string[];
|
|
227
|
+
}
|
|
228
|
+
export interface WebSocketMessage {
|
|
229
|
+
/**
|
|
230
|
+
* The id of this websocket stream. This will match the id of the request,
|
|
231
|
+
* the initial connection response, and any other WebSocket events for the
|
|
232
|
+
* same connection stream.
|
|
233
|
+
*/
|
|
234
|
+
streamId: string;
|
|
235
|
+
/**
|
|
236
|
+
* Whether the message was sent by Mockttp, or received from a Mockttp client.
|
|
237
|
+
*/
|
|
238
|
+
direction: 'sent' | 'received';
|
|
239
|
+
/**
|
|
240
|
+
* The contents of the message as a raw buffer. This is already decompressed,
|
|
241
|
+
* if the WebSocket uses compression.
|
|
242
|
+
*/
|
|
243
|
+
content: Uint8Array;
|
|
244
|
+
/**
|
|
245
|
+
* Whether this is a string message or a raw binary data message.
|
|
246
|
+
*/
|
|
247
|
+
isBinary: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* A high-precision floating-point monotonically increasing timestamp.
|
|
250
|
+
* Comparable and precise, but not related to specific current time.
|
|
251
|
+
*
|
|
252
|
+
* To link this to the current time, compare it to `timingEvents.startTime`.
|
|
253
|
+
*/
|
|
254
|
+
eventTimestamp: number;
|
|
255
|
+
timingEvents: TimingEvents;
|
|
256
|
+
tags: string[];
|
|
257
|
+
}
|
|
258
|
+
export interface WebSocketClose {
|
|
259
|
+
/**
|
|
260
|
+
* The id of this websocket stream. This will match the id of the request,
|
|
261
|
+
* the initial connection response, and any other WebSocket events for the
|
|
262
|
+
* same connection stream.
|
|
263
|
+
*/
|
|
264
|
+
streamId: string;
|
|
265
|
+
/**
|
|
266
|
+
* The close code of the shutdown. This is the close code that was received
|
|
267
|
+
* from the remote client (either initiated remotely, or echoing our own sent
|
|
268
|
+
* close frame).
|
|
269
|
+
*
|
|
270
|
+
* This may be undefined only if a close frame was received but did not contain
|
|
271
|
+
* any close code. If no close frame was received before the connection was
|
|
272
|
+
* lost (i.e. the connection was not cleanly closed) this event will not
|
|
273
|
+
* fire at all, and an 'abort' event will fire instead.
|
|
274
|
+
*/
|
|
275
|
+
closeCode: number | undefined;
|
|
276
|
+
/**
|
|
277
|
+
* The close reason of the shutdown.
|
|
278
|
+
*/
|
|
279
|
+
closeReason: string;
|
|
280
|
+
timingEvents: TimingEvents;
|
|
281
|
+
tags: string[];
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* A client error event describes a request (or our best guess at parsing it),
|
|
285
|
+
* that wasn't correctly completed, and the error response it received, or
|
|
286
|
+
* 'aborted' if the connection was disconnected before we could respond.
|
|
287
|
+
*/
|
|
288
|
+
export interface ClientError {
|
|
289
|
+
errorCode?: string;
|
|
290
|
+
request: {
|
|
291
|
+
id: string;
|
|
292
|
+
timingEvents: TimingEvents;
|
|
293
|
+
tags: string[];
|
|
294
|
+
protocol?: string;
|
|
295
|
+
httpVersion?: string;
|
|
296
|
+
method?: string;
|
|
297
|
+
url?: string;
|
|
298
|
+
path?: string;
|
|
299
|
+
headers: Headers;
|
|
300
|
+
rawHeaders: RawHeaders;
|
|
301
|
+
remoteIpAddress?: string;
|
|
302
|
+
remotePort?: number;
|
|
303
|
+
};
|
|
304
|
+
response: CompletedResponse | 'aborted';
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* An event fired from an individual rule during request processing.
|
|
308
|
+
*/
|
|
309
|
+
export interface RuleEvent<T = unknown> {
|
|
310
|
+
requestId: string;
|
|
311
|
+
ruleId: string;
|
|
312
|
+
eventType: string;
|
|
313
|
+
eventData: T;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* A mocked endpoint provides methods to see the current state of
|
|
317
|
+
* a mock rule.
|
|
318
|
+
*/
|
|
319
|
+
export interface MockedEndpoint {
|
|
320
|
+
id: string;
|
|
321
|
+
/**
|
|
322
|
+
* Get the requests that this endpoint has seen so far.
|
|
323
|
+
*
|
|
324
|
+
* This method returns a promise, which resolves with the requests seen
|
|
325
|
+
* up until now, once all ongoing requests have terminated. The returned
|
|
326
|
+
* lists are immutable, so won't change if more requests arrive in future.
|
|
327
|
+
* Call `getSeenRequests` again later to get an updated list.
|
|
328
|
+
*
|
|
329
|
+
* Requests are included here once the response is completed, even if the request
|
|
330
|
+
* itself failed, the responses failed or exceptions are thrown elsewhere. To
|
|
331
|
+
* watch for errors or detailed response info, look at the various server.on(event)
|
|
332
|
+
* methods.
|
|
333
|
+
*/
|
|
334
|
+
getSeenRequests(): Promise<CompletedRequest[]>;
|
|
335
|
+
/**
|
|
336
|
+
* Reports whether this endpoint is still pending: if it either hasn't seen the
|
|
337
|
+
* specified number of requests (if one was specified e.g. with .twice())
|
|
338
|
+
* or if it hasn't seen at least one request, by default.
|
|
339
|
+
*
|
|
340
|
+
* This method returns a promise, which resolves with the result once all
|
|
341
|
+
* ongoing requests have terminated.
|
|
342
|
+
*/
|
|
343
|
+
isPending(): Promise<boolean>;
|
|
344
|
+
}
|
|
345
|
+
export interface MockedEndpointData {
|
|
346
|
+
id: string;
|
|
347
|
+
explanation?: string;
|
|
348
|
+
seenRequests: CompletedRequest[];
|
|
349
|
+
isPending: boolean;
|
|
350
|
+
}
|
|
351
|
+
export interface Explainable {
|
|
352
|
+
explain(): string;
|
|
353
|
+
}
|
|
354
|
+
export interface ProxyEnvConfig {
|
|
355
|
+
HTTP_PROXY: string;
|
|
356
|
+
HTTPS_PROXY: string;
|
|
357
|
+
}
|
|
358
|
+
export type defaultMaxListeners = typeof EventEmitter.defaultMaxListeners;
|
|
359
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RulePriority = exports.Method = exports.DEFAULT_ADMIN_SERVER_PORT = void 0;
|
|
4
|
+
exports.DEFAULT_ADMIN_SERVER_PORT = 45454;
|
|
5
|
+
var Method;
|
|
6
|
+
(function (Method) {
|
|
7
|
+
Method[Method["GET"] = 0] = "GET";
|
|
8
|
+
Method[Method["POST"] = 1] = "POST";
|
|
9
|
+
Method[Method["PUT"] = 2] = "PUT";
|
|
10
|
+
Method[Method["DELETE"] = 3] = "DELETE";
|
|
11
|
+
Method[Method["PATCH"] = 4] = "PATCH";
|
|
12
|
+
Method[Method["HEAD"] = 5] = "HEAD";
|
|
13
|
+
Method[Method["OPTIONS"] = 6] = "OPTIONS";
|
|
14
|
+
})(Method || (exports.Method = Method = {}));
|
|
15
|
+
var RulePriority;
|
|
16
|
+
(function (RulePriority) {
|
|
17
|
+
RulePriority[RulePriority["FALLBACK"] = 0] = "FALLBACK";
|
|
18
|
+
RulePriority[RulePriority["DEFAULT"] = 1] = "DEFAULT";
|
|
19
|
+
})(RulePriority || (exports.RulePriority = RulePriority = {}));
|
|
20
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAIa,QAAA,yBAAyB,GAAG,KAAK,CAAC;AAE/C,IAAY,MAQX;AARD,WAAY,MAAM;IACd,iCAAG,CAAA;IACH,mCAAI,CAAA;IACJ,iCAAG,CAAA;IACH,uCAAM,CAAA;IACN,qCAAK,CAAA;IACL,mCAAI,CAAA;IACJ,yCAAO,CAAA;AACX,CAAC,EARW,MAAM,sBAAN,MAAM,QAQjB;AAED,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,uDAAY,CAAA;IACZ,qDAAW,CAAA;AACf,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import * as stream from 'stream';
|
|
3
|
+
export declare const asBuffer: (input: Buffer | Uint8Array | string) => Buffer;
|
|
4
|
+
export type BufferInProgress = Promise<Buffer> & {
|
|
5
|
+
currentChunks: Buffer[];
|
|
6
|
+
failedWith?: Error;
|
|
7
|
+
events: EventEmitter;
|
|
8
|
+
};
|
|
9
|
+
export declare const bufferThenStream: (buffer: BufferInProgress, inputStream: stream.Readable) => stream.Readable;
|
|
10
|
+
export declare const bufferToStream: (buffer: Buffer) => stream.Readable;
|
|
11
|
+
export declare const streamToBuffer: (input: stream.Readable, maxSize?: any) => BufferInProgress;
|
|
12
|
+
export declare function splitBuffer(input: Buffer, splitter: string, maxParts?: number): Buffer[];
|
|
13
|
+
//# sourceMappingURL=buffer-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-utils.d.ts","sourceRoot":"","sources":["../../src/util/buffer-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAQjC,eAAO,MAAM,QAAQ,UAAW,MAAM,GAAG,UAAU,GAAG,MAAM,WAMhC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG;IAC7C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;CACxB,CAAC;AAIF,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,eAAe,MAAM,CAAC,QAAQ,KAAG,MAAM,CAAC,QAiDhG,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MAAM,CAAC,QAItD,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,MAAM,CAAC,QAAQ,oCA4DpD,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAW,YAkB/E"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.streamToBuffer = exports.bufferToStream = exports.bufferThenStream = exports.asBuffer = void 0;
|
|
4
|
+
exports.splitBuffer = splitBuffer;
|
|
5
|
+
const events_1 = require("events");
|
|
6
|
+
const stream = require("stream");
|
|
7
|
+
const util_1 = require("./util");
|
|
8
|
+
const MAX_BUFFER_SIZE = util_1.isNode
|
|
9
|
+
? require('buffer').constants.MAX_LENGTH
|
|
10
|
+
: Infinity;
|
|
11
|
+
const asBuffer = (input) => Buffer.isBuffer(input)
|
|
12
|
+
? input
|
|
13
|
+
: typeof input === "string"
|
|
14
|
+
? Buffer.from(input, 'utf8')
|
|
15
|
+
// Is Array:
|
|
16
|
+
: Buffer.from(input);
|
|
17
|
+
exports.asBuffer = asBuffer;
|
|
18
|
+
// Takes a buffer and a stream, returns a simple stream that outputs the buffer then the stream. The stream
|
|
19
|
+
// is lazy, so doesn't read data in from the buffer or input until something here starts reading.
|
|
20
|
+
const bufferThenStream = (buffer, inputStream) => {
|
|
21
|
+
let active = false;
|
|
22
|
+
const outputStream = new stream.PassThrough({
|
|
23
|
+
// Note we use the default highWaterMark, which means this applies backpressure, pushing buffering
|
|
24
|
+
// onto the OS & backpressure on network instead of accepting data before we're ready to stream it.
|
|
25
|
+
// Without changing behaviour, we listen for read() events, and don't start streaming until we get one.
|
|
26
|
+
read(size) {
|
|
27
|
+
// On the first actual read of this stream, we pull from the buffer
|
|
28
|
+
// and then hook it up to the input.
|
|
29
|
+
if (!active) {
|
|
30
|
+
if (buffer.failedWith) {
|
|
31
|
+
outputStream.destroy(buffer.failedWith);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// First stream everything that's been buffered so far:
|
|
35
|
+
outputStream.write(Buffer.concat(buffer.currentChunks));
|
|
36
|
+
// Then start streaming all future incoming data:
|
|
37
|
+
inputStream.pipe(outputStream);
|
|
38
|
+
if (inputStream.readableEnded)
|
|
39
|
+
outputStream.end();
|
|
40
|
+
if (inputStream.readableAborted)
|
|
41
|
+
outputStream.destroy();
|
|
42
|
+
// Forward any future errors from the input stream:
|
|
43
|
+
inputStream.on('error', (e) => {
|
|
44
|
+
outputStream.emit('error', e);
|
|
45
|
+
});
|
|
46
|
+
// Silence 'unhandled rejection' warnings here, since we'll handle
|
|
47
|
+
// them on the stream instead
|
|
48
|
+
buffer.catch(() => { });
|
|
49
|
+
}
|
|
50
|
+
active = true;
|
|
51
|
+
}
|
|
52
|
+
// Except for the first activation logic (above) do the default transform read() steps just
|
|
53
|
+
// like a normal PassThrough stream.
|
|
54
|
+
return stream.Transform.prototype._read.call(this, size);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
buffer.events.on('truncate', (chunks) => {
|
|
58
|
+
// If the stream hasn't started yet, start it now, so it grabs the buffer
|
|
59
|
+
// data before it gets truncated:
|
|
60
|
+
if (!active)
|
|
61
|
+
outputStream.read(0);
|
|
62
|
+
});
|
|
63
|
+
return outputStream;
|
|
64
|
+
};
|
|
65
|
+
exports.bufferThenStream = bufferThenStream;
|
|
66
|
+
const bufferToStream = (buffer) => {
|
|
67
|
+
const outputStream = new stream.PassThrough();
|
|
68
|
+
outputStream.end(buffer);
|
|
69
|
+
return outputStream;
|
|
70
|
+
};
|
|
71
|
+
exports.bufferToStream = bufferToStream;
|
|
72
|
+
const streamToBuffer = (input, maxSize = MAX_BUFFER_SIZE) => {
|
|
73
|
+
let chunks = [];
|
|
74
|
+
const bufferPromise = new Promise((resolve, reject) => {
|
|
75
|
+
function failWithAbortError() {
|
|
76
|
+
bufferPromise.failedWith = new Error('Aborted');
|
|
77
|
+
reject(bufferPromise.failedWith);
|
|
78
|
+
}
|
|
79
|
+
// If stream has already finished/aborted, resolve accordingly immediately:
|
|
80
|
+
if (input.readableEnded)
|
|
81
|
+
return resolve(Buffer.from([]));
|
|
82
|
+
if (input.readableAborted)
|
|
83
|
+
return failWithAbortError();
|
|
84
|
+
let currentSize = 0;
|
|
85
|
+
const onData = (d) => {
|
|
86
|
+
currentSize += d.length;
|
|
87
|
+
chunks.push(d);
|
|
88
|
+
// If we go over maxSize, drop the whole stream, so the buffer
|
|
89
|
+
// resolves empty. MaxSize should be large, so this is rare,
|
|
90
|
+
// and only happens as an alternative to crashing the process.
|
|
91
|
+
if (currentSize > maxSize) {
|
|
92
|
+
// Announce truncation, so that other mechanisms (asStream) can
|
|
93
|
+
// capture this data if they're interested in it.
|
|
94
|
+
bufferPromise.events.emit('truncate', chunks);
|
|
95
|
+
// Drop all the data so far & stop reading
|
|
96
|
+
bufferPromise.currentChunks = chunks = [];
|
|
97
|
+
input.removeListener('data', onData);
|
|
98
|
+
// We then resolve immediately - the buffer is done, even if the body
|
|
99
|
+
// might still be streaming in we're not listening to it. This means
|
|
100
|
+
// that requests can 'complete' for event/callback purposes while
|
|
101
|
+
// they're actually still streaming, but only in this scenario where
|
|
102
|
+
// the data is too large to really be used by the events/callbacks.
|
|
103
|
+
// If we don't resolve, then cases which intentionally don't consume
|
|
104
|
+
// the raw stream but do consume the buffer (beforeRequest) would
|
|
105
|
+
// deadlock: beforeRequest must complete to begin streaming the
|
|
106
|
+
// full body to the target clients.
|
|
107
|
+
resolve(Buffer.from([]));
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
input.on('data', onData);
|
|
111
|
+
input.once('end', () => {
|
|
112
|
+
resolve(Buffer.concat(chunks));
|
|
113
|
+
});
|
|
114
|
+
input.once('aborted', failWithAbortError);
|
|
115
|
+
input.on('error', (e) => {
|
|
116
|
+
bufferPromise.failedWith = bufferPromise.failedWith || e;
|
|
117
|
+
reject(e);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
bufferPromise.currentChunks = chunks;
|
|
121
|
+
bufferPromise.events = new events_1.EventEmitter();
|
|
122
|
+
return bufferPromise;
|
|
123
|
+
};
|
|
124
|
+
exports.streamToBuffer = streamToBuffer;
|
|
125
|
+
function splitBuffer(input, splitter, maxParts = Infinity) {
|
|
126
|
+
const parts = [];
|
|
127
|
+
let remainingBuffer = input;
|
|
128
|
+
while (remainingBuffer.length) {
|
|
129
|
+
let endOfPart = remainingBuffer.indexOf(splitter);
|
|
130
|
+
if (endOfPart === -1)
|
|
131
|
+
endOfPart = remainingBuffer.length;
|
|
132
|
+
parts.push(remainingBuffer.slice(0, endOfPart));
|
|
133
|
+
remainingBuffer = remainingBuffer.slice(endOfPart + splitter.length);
|
|
134
|
+
if (parts.length === maxParts - 1) {
|
|
135
|
+
parts.push(remainingBuffer);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return parts;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=buffer-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-utils.js","sourceRoot":"","sources":["../../src/util/buffer-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as dns from 'dns';
|
|
2
|
+
export type DnsLookupFunction = Omit<typeof dns.lookup, '__promisify__'>;
|
|
3
|
+
export declare class CachedDns {
|
|
4
|
+
private cacheDurationMs;
|
|
5
|
+
private cache;
|
|
6
|
+
constructor(cacheDurationMs: number);
|
|
7
|
+
private cacheKey;
|
|
8
|
+
lookup: DnsLookupFunction;
|
|
9
|
+
}
|
|
10
|
+
export declare function dnsLookup(lookupFn: typeof dns.lookup | DnsLookupFunction, hostname: string): Promise<string>;
|
|
11
|
+
//# sourceMappingURL=dns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../src/util/dns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAM3B,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAIzE,qBAAa,SAAS;IAKd,OAAO,CAAC,eAAe;IAH3B,OAAO,CAAC,KAAK,CAA8E;gBAG/E,eAAe,EAAE,MAAM;IAGnC,OAAO,CAAC,QAAQ;IAIhB,MAAM,EAAE,iBAAiB,CAkBxB;CAEJ;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,iBAAiB,EAAE,QAAQ,EAAE,MAAM,mBAO1F"}
|