@n1k1t/mock-server 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/package.json +1 -1
- package/lib/src/client/remote.d.ts +1 -1
- package/lib/src/expectations/types.d.ts +3 -4
- package/lib/src/expectations/types.d.ts.map +1 -1
- package/lib/src/expectations/types.js +1 -0
- package/lib/src/expectations/types.js.map +1 -1
- package/lib/src/expectations/utils/location.d.ts.map +1 -1
- package/lib/src/expectations/utils/location.js +6 -0
- package/lib/src/expectations/utils/location.js.map +1 -1
- package/lib/src/server/endpoints/expectations-group.update.endpoint.d.ts +2 -2
- package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.d.ts +2 -2
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +2 -2
- package/lib/src/server/endpoints/expectations.get-by-id.endpoint.d.ts +2 -2
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +2 -2
- package/lib/src/server/models/context/snapshot.d.ts +5 -3
- package/lib/src/server/models/context/snapshot.d.ts.map +1 -1
- package/lib/src/server/models/context/snapshot.js +3 -0
- package/lib/src/server/models/context/snapshot.js.map +1 -1
- package/lib/src/server/models/context/types.d.ts +6 -1
- package/lib/src/server/models/context/types.d.ts.map +1 -1
- package/lib/src/server/models/executor/index.d.ts +1 -1
- package/lib/src/server/models/executor/index.d.ts.map +1 -1
- package/lib/src/server/models/executor/index.js +11 -4
- package/lib/src/server/models/executor/index.js.map +1 -1
- package/lib/src/server/models/history/model.d.ts.map +1 -1
- package/lib/src/server/models/history/model.js +7 -0
- package/lib/src/server/models/history/model.js.map +1 -1
- package/lib/src/server/models/history/storage.d.ts.map +1 -1
- package/lib/src/server/models/history/storage.js +1 -0
- package/lib/src/server/models/history/storage.js.map +1 -1
- package/lib/src/server/models/history/types.d.ts +2 -0
- package/lib/src/server/models/history/types.d.ts.map +1 -1
- package/lib/src/server/transports/http.transport/executor.d.ts +3 -2
- package/lib/src/server/transports/http.transport/executor.d.ts.map +1 -1
- package/lib/src/server/transports/http.transport/executor.js +12 -11
- package/lib/src/server/transports/http.transport/executor.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/{index-gA9kYtxd.js → index-Dd-mRSqz.js} +85 -80
- package/public/index.html +1 -1
|
@@ -5,7 +5,8 @@ import { Executor, IRequestContextOutgoing, IRequestContextIncoming, IExecutorEx
|
|
|
5
5
|
export declare class HttpExecutor extends Executor<HttpRequestContext> {
|
|
6
6
|
exec(context: HttpRequestContext, options?: IExecutorExecOptions): Promise<HttpRequestContext>;
|
|
7
7
|
match(context: HttpRequestContext): Promise<Expectation<any> | null>;
|
|
8
|
-
forward(context: HttpRequestContext, incoming: IRequestContextIncoming,
|
|
8
|
+
forward(context: HttpRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<{
|
|
9
|
+
schema: IExpectationSchemaForward;
|
|
9
10
|
incoming: IRequestContextIncoming;
|
|
10
11
|
outgoing: {
|
|
11
12
|
type: import("../..").TRequestPayloadType;
|
|
@@ -17,6 +18,6 @@ export declare class HttpExecutor extends Executor<HttpRequestContext> {
|
|
|
17
18
|
}>;
|
|
18
19
|
reply(context: HttpRequestContext, outgoing: IRequestContextOutgoing): Promise<IRequestContextOutgoing>;
|
|
19
20
|
/** Compiles Axios request configuration to forward */
|
|
20
|
-
protected compileForwardingConfiguration(context: HttpRequestContext, incoming: IRequestContextIncoming,
|
|
21
|
+
protected compileForwardingConfiguration(context: HttpRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<AxiosRequestConfig>;
|
|
21
22
|
}
|
|
22
23
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/http.transport/executor.ts"],"names":[],"mappings":"AAAA,OAAc,EAAc,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAM7E,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAGL,QAAQ,EAER,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAItB,qBAAa,YAAa,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAYhE,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAoBpE,OAAO,CAClB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,uBAAuB,EACjC,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/http.transport/executor.ts"],"names":[],"mappings":"AAAA,OAAc,EAAc,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAM7E,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAGL,QAAQ,EAER,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAItB,qBAAa,YAAa,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAYhE,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAoBpE,OAAO,CAClB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB;;;;;;;;;;;IAsDtB,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,uBAAuB;IAuBjF,sDAAsD;cACtC,8BAA8B,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,kBAAkB,CAAC;CA4B/B"}
|
|
@@ -36,9 +36,9 @@ class HttpExecutor extends models_1.Executor {
|
|
|
36
36
|
}
|
|
37
37
|
return expectation;
|
|
38
38
|
}
|
|
39
|
-
async forward(context, incoming,
|
|
39
|
+
async forward(context, incoming, schema) {
|
|
40
40
|
const options = await this
|
|
41
|
-
.compileForwardingConfiguration(context, incoming,
|
|
41
|
+
.compileForwardingConfiguration(context, incoming, schema)
|
|
42
42
|
.catch((error) => {
|
|
43
43
|
context.snapshot.assign({
|
|
44
44
|
error: { code: 'UNKNOWN', message: error?.message ?? 'Unknown' },
|
|
@@ -67,6 +67,7 @@ class HttpExecutor extends models_1.Executor {
|
|
|
67
67
|
const type = (0, models_1.extractPayloadType)(response.headers) ?? 'plain';
|
|
68
68
|
const data = (0, models_1.parsePayload)(type, response.data);
|
|
69
69
|
return {
|
|
70
|
+
schema,
|
|
70
71
|
incoming,
|
|
71
72
|
outgoing: {
|
|
72
73
|
type: type,
|
|
@@ -92,25 +93,25 @@ class HttpExecutor extends models_1.Executor {
|
|
|
92
93
|
return outgoing;
|
|
93
94
|
}
|
|
94
95
|
/** Compiles Axios request configuration to forward */
|
|
95
|
-
async compileForwardingConfiguration(context, incoming,
|
|
96
|
-
const url = new URL(
|
|
96
|
+
async compileForwardingConfiguration(context, incoming, schema) {
|
|
97
|
+
const url = new URL(schema.url ?? incoming.path, schema.baseUrl);
|
|
97
98
|
const isSecured = url.protocol.includes('https');
|
|
98
99
|
return {
|
|
99
|
-
timeout:
|
|
100
|
+
timeout: schema.timeout ?? 30000,
|
|
100
101
|
method: incoming.method,
|
|
101
102
|
headers: Object.assign(incoming.headers, {
|
|
102
103
|
connection: 'close',
|
|
103
|
-
...(
|
|
104
|
+
...(schema.options?.overrideHost !== false && { host: url.host }),
|
|
104
105
|
...(incoming.dataRaw && { 'content-length': String(incoming.dataRaw.length) }),
|
|
105
106
|
}),
|
|
106
|
-
...(
|
|
107
|
-
...(
|
|
107
|
+
...(schema.url && { url: schema.url }),
|
|
108
|
+
...(schema.baseUrl && { baseURL: schema.baseUrl, url: incoming.path }),
|
|
108
109
|
data: incoming.dataRaw,
|
|
109
110
|
params: context.incoming.query,
|
|
110
111
|
responseType: 'arraybuffer',
|
|
111
|
-
...((
|
|
112
|
-
...((
|
|
113
|
-
httpsAgent: new https_proxy_agent_1.HttpsProxyAgent(`http://${
|
|
112
|
+
...((schema.proxy && !isSecured) && { proxy: schema.proxy }),
|
|
113
|
+
...((schema.proxy && isSecured) && {
|
|
114
|
+
httpsAgent: new https_proxy_agent_1.HttpsProxyAgent(`http://${schema.proxy.host}:${schema.proxy.port}`),
|
|
114
115
|
}),
|
|
115
116
|
};
|
|
116
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/http.transport/executor.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6E;AAC7E,oDAAuB;AAEvB,yDAAoD;AACpD,iDAA6C;AAK7C,4CAAyC;AACzC,yCAQsB;AAEtB,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAE/D,MAAa,YAAa,SAAQ,iBAA4B;IACrD,KAAK,CAAC,IAAI,CAAC,OAA2B,EAAE,OAA8B;QAC3E,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjD,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAA2B;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEnF,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC;gBACb,QAAQ,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBAClC,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,GAAG;oBAEX,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC;oBACjD,OAAO,EAAE,EAAE;iBACZ,CAAC;aACH,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,OAA2B,EAC3B,QAAiC,EACjC,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/http.transport/executor.ts"],"names":[],"mappings":"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"}
|