msw 0.0.0-fetch.rc-15 → 0.0.0-fetch.rc-16
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/README.md +4 -4
- package/lib/browser/index.d.ts +0 -6
- package/lib/browser/index.js +14 -32
- package/lib/browser/index.mjs +14 -32
- package/lib/core/NetworkError.d.ts +2 -2
- package/lib/core/SetupApi.d.ts +0 -1
- package/lib/core/handlers/{RestHandler.d.ts → HttpHandler.d.ts} +12 -12
- package/lib/core/handlers/{RestHandler.js → HttpHandler.js} +16 -16
- package/lib/core/handlers/{RestHandler.mjs → HttpHandler.mjs} +13 -13
- package/lib/core/{rest.d.ts → http.d.ts} +11 -11
- package/lib/core/{rest.js → http.js} +16 -16
- package/lib/core/http.mjs +22 -0
- package/lib/core/{rest.spec.js → http.spec.js} +3 -3
- package/lib/core/{rest.spec.mjs → http.spec.mjs} +3 -3
- package/lib/core/index.d.ts +2 -2
- package/lib/core/index.js +6 -6
- package/lib/core/index.mjs +6 -6
- package/lib/core/passthrough.d.ts +5 -2
- package/lib/core/sharedOptions.d.ts +45 -7
- package/lib/core/utils/handleRequest.js +13 -9
- package/lib/core/utils/handleRequest.mjs +13 -9
- package/lib/core/utils/request/onUnhandledRequest.js +6 -6
- package/lib/core/utils/request/onUnhandledRequest.mjs +7 -7
- package/lib/iife/index.js +66 -80
- package/lib/mockServiceWorker.js +1 -1
- package/lib/native/index.d.ts +0 -6
- package/lib/native/index.js +5 -13
- package/lib/native/index.mjs +5 -13
- package/lib/node/index.d.ts +0 -6
- package/lib/node/index.js +5 -13
- package/lib/node/index.mjs +5 -13
- package/package.json +1 -1
- package/lib/core/rest.mjs +0 -22
- /package/lib/core/{rest.spec.d.ts → http.spec.d.ts} +0 -0
|
@@ -15,13 +15,51 @@ interface SharedOptions {
|
|
|
15
15
|
onUnhandledRequest?: UnhandledRequestStrategy;
|
|
16
16
|
}
|
|
17
17
|
type LifeCycleEventsMap = {
|
|
18
|
-
'request:start': [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
'request:start': [
|
|
19
|
+
args: {
|
|
20
|
+
request: Request;
|
|
21
|
+
requestId: string;
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
'request:match': [
|
|
25
|
+
args: {
|
|
26
|
+
request: Request;
|
|
27
|
+
requestId: string;
|
|
28
|
+
}
|
|
29
|
+
];
|
|
30
|
+
'request:unhandled': [
|
|
31
|
+
args: {
|
|
32
|
+
request: Request;
|
|
33
|
+
requestId: string;
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
'request:end': [
|
|
37
|
+
args: {
|
|
38
|
+
request: Request;
|
|
39
|
+
requestId: string;
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
'response:mocked': [
|
|
43
|
+
args: {
|
|
44
|
+
response: Response;
|
|
45
|
+
request: Request;
|
|
46
|
+
requestId: string;
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
'response:bypass': [
|
|
50
|
+
args: {
|
|
51
|
+
response: Response;
|
|
52
|
+
request: Request;
|
|
53
|
+
requestId: string;
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
unhandledException: [
|
|
57
|
+
args: {
|
|
58
|
+
error: Error;
|
|
59
|
+
request: Request;
|
|
60
|
+
requestId: string;
|
|
61
|
+
}
|
|
62
|
+
];
|
|
25
63
|
};
|
|
26
64
|
type LifeCycleEventEmitter<EventsMap extends Record<string | symbol, any>> = Pick<Emitter<EventsMap>, 'on' | 'removeListener' | 'removeAllListeners'>;
|
|
27
65
|
|
|
@@ -48,9 +48,9 @@ var import_readResponseCookies = require("./request/readResponseCookies.js");
|
|
|
48
48
|
function handleRequest(request, requestId, handlers, options, emitter, handleRequestOptions) {
|
|
49
49
|
return __async(this, null, function* () {
|
|
50
50
|
var _a, _b, _c, _d, _e, _f;
|
|
51
|
-
emitter.emit("request:start", request, requestId);
|
|
51
|
+
emitter.emit("request:start", { request, requestId });
|
|
52
52
|
if (request.headers.get("x-msw-intention") === "bypass") {
|
|
53
|
-
emitter.emit("request:end", request, requestId);
|
|
53
|
+
emitter.emit("request:end", { request, requestId });
|
|
54
54
|
(_a = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _a.call(handleRequestOptions, request);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
@@ -62,29 +62,33 @@ function handleRequest(request, requestId, handlers, options, emitter, handleReq
|
|
|
62
62
|
);
|
|
63
63
|
});
|
|
64
64
|
if (lookupResult.error) {
|
|
65
|
-
emitter.emit("unhandledException",
|
|
65
|
+
emitter.emit("unhandledException", {
|
|
66
|
+
error: lookupResult.error,
|
|
67
|
+
request,
|
|
68
|
+
requestId
|
|
69
|
+
});
|
|
66
70
|
throw lookupResult.error;
|
|
67
71
|
}
|
|
68
72
|
if (!lookupResult.data) {
|
|
69
73
|
yield (0, import_onUnhandledRequest.onUnhandledRequest)(request, handlers, options.onUnhandledRequest);
|
|
70
|
-
emitter.emit("request:unhandled", request, requestId);
|
|
71
|
-
emitter.emit("request:end", request, requestId);
|
|
74
|
+
emitter.emit("request:unhandled", { request, requestId });
|
|
75
|
+
emitter.emit("request:end", { request, requestId });
|
|
72
76
|
(_b = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _b.call(handleRequestOptions, request);
|
|
73
77
|
return;
|
|
74
78
|
}
|
|
75
79
|
const { response } = lookupResult.data;
|
|
76
80
|
if (!response) {
|
|
77
|
-
emitter.emit("request:end", request, requestId);
|
|
81
|
+
emitter.emit("request:end", { request, requestId });
|
|
78
82
|
(_c = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _c.call(handleRequestOptions, request);
|
|
79
83
|
return;
|
|
80
84
|
}
|
|
81
85
|
if (response.status === 302 && response.headers.get("x-msw-intention") === "passthrough") {
|
|
82
|
-
emitter.emit("request:end", request, requestId);
|
|
86
|
+
emitter.emit("request:end", { request, requestId });
|
|
83
87
|
(_d = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _d.call(handleRequestOptions, request);
|
|
84
88
|
return;
|
|
85
89
|
}
|
|
86
90
|
(0, import_readResponseCookies.readResponseCookies)(request, response);
|
|
87
|
-
emitter.emit("request:match", request, requestId);
|
|
91
|
+
emitter.emit("request:match", { request, requestId });
|
|
88
92
|
const requiredLookupResult = lookupResult.data;
|
|
89
93
|
const transformedResponse = ((_e = handleRequestOptions == null ? void 0 : handleRequestOptions.transformResponse) == null ? void 0 : _e.call(handleRequestOptions, response)) || response;
|
|
90
94
|
(_f = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponse) == null ? void 0 : _f.call(
|
|
@@ -92,7 +96,7 @@ function handleRequest(request, requestId, handlers, options, emitter, handleReq
|
|
|
92
96
|
transformedResponse,
|
|
93
97
|
requiredLookupResult
|
|
94
98
|
);
|
|
95
|
-
emitter.emit("request:end", request, requestId);
|
|
99
|
+
emitter.emit("request:end", { request, requestId });
|
|
96
100
|
return transformedResponse;
|
|
97
101
|
});
|
|
98
102
|
}
|
|
@@ -25,9 +25,9 @@ import { readResponseCookies } from './request/readResponseCookies.mjs';
|
|
|
25
25
|
function handleRequest(request, requestId, handlers, options, emitter, handleRequestOptions) {
|
|
26
26
|
return __async(this, null, function* () {
|
|
27
27
|
var _a, _b, _c, _d, _e, _f;
|
|
28
|
-
emitter.emit("request:start", request, requestId);
|
|
28
|
+
emitter.emit("request:start", { request, requestId });
|
|
29
29
|
if (request.headers.get("x-msw-intention") === "bypass") {
|
|
30
|
-
emitter.emit("request:end", request, requestId);
|
|
30
|
+
emitter.emit("request:end", { request, requestId });
|
|
31
31
|
(_a = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _a.call(handleRequestOptions, request);
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
@@ -39,29 +39,33 @@ function handleRequest(request, requestId, handlers, options, emitter, handleReq
|
|
|
39
39
|
);
|
|
40
40
|
});
|
|
41
41
|
if (lookupResult.error) {
|
|
42
|
-
emitter.emit("unhandledException",
|
|
42
|
+
emitter.emit("unhandledException", {
|
|
43
|
+
error: lookupResult.error,
|
|
44
|
+
request,
|
|
45
|
+
requestId
|
|
46
|
+
});
|
|
43
47
|
throw lookupResult.error;
|
|
44
48
|
}
|
|
45
49
|
if (!lookupResult.data) {
|
|
46
50
|
yield onUnhandledRequest(request, handlers, options.onUnhandledRequest);
|
|
47
|
-
emitter.emit("request:unhandled", request, requestId);
|
|
48
|
-
emitter.emit("request:end", request, requestId);
|
|
51
|
+
emitter.emit("request:unhandled", { request, requestId });
|
|
52
|
+
emitter.emit("request:end", { request, requestId });
|
|
49
53
|
(_b = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _b.call(handleRequestOptions, request);
|
|
50
54
|
return;
|
|
51
55
|
}
|
|
52
56
|
const { response } = lookupResult.data;
|
|
53
57
|
if (!response) {
|
|
54
|
-
emitter.emit("request:end", request, requestId);
|
|
58
|
+
emitter.emit("request:end", { request, requestId });
|
|
55
59
|
(_c = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _c.call(handleRequestOptions, request);
|
|
56
60
|
return;
|
|
57
61
|
}
|
|
58
62
|
if (response.status === 302 && response.headers.get("x-msw-intention") === "passthrough") {
|
|
59
|
-
emitter.emit("request:end", request, requestId);
|
|
63
|
+
emitter.emit("request:end", { request, requestId });
|
|
60
64
|
(_d = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _d.call(handleRequestOptions, request);
|
|
61
65
|
return;
|
|
62
66
|
}
|
|
63
67
|
readResponseCookies(request, response);
|
|
64
|
-
emitter.emit("request:match", request, requestId);
|
|
68
|
+
emitter.emit("request:match", { request, requestId });
|
|
65
69
|
const requiredLookupResult = lookupResult.data;
|
|
66
70
|
const transformedResponse = ((_e = handleRequestOptions == null ? void 0 : handleRequestOptions.transformResponse) == null ? void 0 : _e.call(handleRequestOptions, response)) || response;
|
|
67
71
|
(_f = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponse) == null ? void 0 : _f.call(
|
|
@@ -69,7 +73,7 @@ function handleRequest(request, requestId, handlers, options, emitter, handleReq
|
|
|
69
73
|
transformedResponse,
|
|
70
74
|
requiredLookupResult
|
|
71
75
|
);
|
|
72
|
-
emitter.emit("request:end", request, requestId);
|
|
76
|
+
emitter.emit("request:end", { request, requestId });
|
|
73
77
|
return transformedResponse;
|
|
74
78
|
});
|
|
75
79
|
}
|
|
@@ -64,8 +64,8 @@ const TYPE_MATCH_DELTA = 0.5;
|
|
|
64
64
|
function groupHandlersByType(handlers) {
|
|
65
65
|
return handlers.reduce(
|
|
66
66
|
(groups, handler) => {
|
|
67
|
-
if (handler instanceof import__.
|
|
68
|
-
groups.
|
|
67
|
+
if (handler instanceof import__.HttpHandler) {
|
|
68
|
+
groups.http.push(handler);
|
|
69
69
|
}
|
|
70
70
|
if (handler instanceof import__.GraphQLHandler) {
|
|
71
71
|
groups.graphql.push(handler);
|
|
@@ -73,12 +73,12 @@ function groupHandlersByType(handlers) {
|
|
|
73
73
|
return groups;
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
|
-
|
|
76
|
+
http: [],
|
|
77
77
|
graphql: []
|
|
78
78
|
}
|
|
79
79
|
);
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function getHttpHandlerScore() {
|
|
82
82
|
return (request, handler) => {
|
|
83
83
|
const { path, method } = handler.info;
|
|
84
84
|
if (path instanceof RegExp || method instanceof RegExp) {
|
|
@@ -128,11 +128,11 @@ function onUnhandledRequest(request, handlers, strategy = "warn") {
|
|
|
128
128
|
);
|
|
129
129
|
function generateHandlerSuggestion() {
|
|
130
130
|
const handlerGroups = groupHandlersByType(handlers);
|
|
131
|
-
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.
|
|
131
|
+
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.http;
|
|
132
132
|
const suggestedHandlers = getSuggestedHandler(
|
|
133
133
|
request,
|
|
134
134
|
relevantHandlers,
|
|
135
|
-
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) :
|
|
135
|
+
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) : getHttpHandlerScore()
|
|
136
136
|
);
|
|
137
137
|
return suggestedHandlers.length > 0 ? getSuggestedHandlersMessage(suggestedHandlers) : "";
|
|
138
138
|
}
|
|
@@ -19,7 +19,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
21
|
import jsLevenshtein from "@bundled-es-modules/js-levenshtein";
|
|
22
|
-
import {
|
|
22
|
+
import { HttpHandler, GraphQLHandler } from '../../index.mjs';
|
|
23
23
|
import {
|
|
24
24
|
parseGraphQLRequest
|
|
25
25
|
} from '../internal/parseGraphQLRequest.mjs';
|
|
@@ -33,8 +33,8 @@ const TYPE_MATCH_DELTA = 0.5;
|
|
|
33
33
|
function groupHandlersByType(handlers) {
|
|
34
34
|
return handlers.reduce(
|
|
35
35
|
(groups, handler) => {
|
|
36
|
-
if (handler instanceof
|
|
37
|
-
groups.
|
|
36
|
+
if (handler instanceof HttpHandler) {
|
|
37
|
+
groups.http.push(handler);
|
|
38
38
|
}
|
|
39
39
|
if (handler instanceof GraphQLHandler) {
|
|
40
40
|
groups.graphql.push(handler);
|
|
@@ -42,12 +42,12 @@ function groupHandlersByType(handlers) {
|
|
|
42
42
|
return groups;
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
|
|
45
|
+
http: [],
|
|
46
46
|
graphql: []
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function getHttpHandlerScore() {
|
|
51
51
|
return (request, handler) => {
|
|
52
52
|
const { path, method } = handler.info;
|
|
53
53
|
if (path instanceof RegExp || method instanceof RegExp) {
|
|
@@ -97,11 +97,11 @@ function onUnhandledRequest(request, handlers, strategy = "warn") {
|
|
|
97
97
|
);
|
|
98
98
|
function generateHandlerSuggestion() {
|
|
99
99
|
const handlerGroups = groupHandlersByType(handlers);
|
|
100
|
-
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.
|
|
100
|
+
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.http;
|
|
101
101
|
const suggestedHandlers = getSuggestedHandler(
|
|
102
102
|
request,
|
|
103
103
|
relevantHandlers,
|
|
104
|
-
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) :
|
|
104
|
+
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) : getHttpHandlerScore()
|
|
105
105
|
);
|
|
106
106
|
return suggestedHandlers.length > 0 ? getSuggestedHandlersMessage(suggestedHandlers) : "";
|
|
107
107
|
}
|
package/lib/iife/index.js
CHANGED
|
@@ -82,14 +82,14 @@ var MockServiceWorker = (() => {
|
|
|
82
82
|
var iife_exports = {};
|
|
83
83
|
__export(iife_exports, {
|
|
84
84
|
GraphQLHandler: () => GraphQLHandler,
|
|
85
|
+
HttpHandler: () => HttpHandler,
|
|
86
|
+
HttpMethods: () => HttpMethods,
|
|
85
87
|
HttpResponse: () => HttpResponse,
|
|
86
88
|
MAX_SERVER_RESPONSE_TIME: () => MAX_SERVER_RESPONSE_TIME,
|
|
87
89
|
MIN_SERVER_RESPONSE_TIME: () => MIN_SERVER_RESPONSE_TIME,
|
|
88
90
|
NODE_SERVER_RESPONSE_TIME: () => NODE_SERVER_RESPONSE_TIME,
|
|
89
91
|
NetworkError: () => NetworkError,
|
|
90
|
-
RESTMethods: () => RESTMethods,
|
|
91
92
|
RequestHandler: () => RequestHandler,
|
|
92
|
-
RestHandler: () => RestHandler,
|
|
93
93
|
SET_TIMEOUT_MAX_ALLOWED_INT: () => SET_TIMEOUT_MAX_ALLOWED_INT,
|
|
94
94
|
SetupApi: () => SetupApi,
|
|
95
95
|
SetupWorkerApi: () => SetupWorkerApi,
|
|
@@ -98,9 +98,9 @@ var MockServiceWorker = (() => {
|
|
|
98
98
|
delay: () => delay,
|
|
99
99
|
graphql: () => graphql,
|
|
100
100
|
handleRequest: () => handleRequest,
|
|
101
|
+
http: () => http,
|
|
101
102
|
matchRequestUrl: () => matchRequestUrl,
|
|
102
103
|
passthrough: () => passthrough,
|
|
103
|
-
rest: () => rest,
|
|
104
104
|
setupWorker: () => setupWorker
|
|
105
105
|
});
|
|
106
106
|
|
|
@@ -2410,18 +2410,18 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
|
|
|
2410
2410
|
return __spreadValues(__spreadValues({}, forwardedCookies), cookiesFromHeaders);
|
|
2411
2411
|
}
|
|
2412
2412
|
|
|
2413
|
-
// src/core/handlers/
|
|
2414
|
-
var
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
return
|
|
2423
|
-
})(
|
|
2424
|
-
var
|
|
2413
|
+
// src/core/handlers/HttpHandler.ts
|
|
2414
|
+
var HttpMethods = /* @__PURE__ */ ((HttpMethods2) => {
|
|
2415
|
+
HttpMethods2["HEAD"] = "HEAD";
|
|
2416
|
+
HttpMethods2["GET"] = "GET";
|
|
2417
|
+
HttpMethods2["POST"] = "POST";
|
|
2418
|
+
HttpMethods2["PUT"] = "PUT";
|
|
2419
|
+
HttpMethods2["PATCH"] = "PATCH";
|
|
2420
|
+
HttpMethods2["OPTIONS"] = "OPTIONS";
|
|
2421
|
+
HttpMethods2["DELETE"] = "DELETE";
|
|
2422
|
+
return HttpMethods2;
|
|
2423
|
+
})(HttpMethods || {});
|
|
2424
|
+
var HttpHandler = class extends RequestHandler {
|
|
2425
2425
|
constructor(method, path, resolver, options) {
|
|
2426
2426
|
super({
|
|
2427
2427
|
info: {
|
|
@@ -2505,21 +2505,21 @@ Invalid value has been removed from localStorage to prevent subsequent failed pa
|
|
|
2505
2505
|
}
|
|
2506
2506
|
};
|
|
2507
2507
|
|
|
2508
|
-
// src/core/
|
|
2509
|
-
function
|
|
2508
|
+
// src/core/http.ts
|
|
2509
|
+
function createHttpHandler(method) {
|
|
2510
2510
|
return (path, resolver, options = {}) => {
|
|
2511
|
-
return new
|
|
2511
|
+
return new HttpHandler(method, path, resolver, options);
|
|
2512
2512
|
};
|
|
2513
2513
|
}
|
|
2514
|
-
var
|
|
2515
|
-
all:
|
|
2516
|
-
head:
|
|
2517
|
-
get:
|
|
2518
|
-
post:
|
|
2519
|
-
put:
|
|
2520
|
-
delete:
|
|
2521
|
-
patch:
|
|
2522
|
-
options:
|
|
2514
|
+
var http = {
|
|
2515
|
+
all: createHttpHandler(/.+/),
|
|
2516
|
+
head: createHttpHandler("HEAD" /* HEAD */),
|
|
2517
|
+
get: createHttpHandler("GET" /* GET */),
|
|
2518
|
+
post: createHttpHandler("POST" /* POST */),
|
|
2519
|
+
put: createHttpHandler("PUT" /* PUT */),
|
|
2520
|
+
delete: createHttpHandler("DELETE" /* DELETE */),
|
|
2521
|
+
patch: createHttpHandler("PATCH" /* PATCH */),
|
|
2522
|
+
options: createHttpHandler("OPTIONS" /* OPTIONS */)
|
|
2523
2523
|
};
|
|
2524
2524
|
|
|
2525
2525
|
// node_modules/.pnpm/graphql@16.7.1/node_modules/graphql/jsutils/devAssert.mjs
|
|
@@ -4999,8 +4999,8 @@ spurious results.`);
|
|
|
4999
4999
|
throw new Error('"Content-Disposition" header is required.');
|
|
5000
5000
|
}
|
|
5001
5001
|
const directives = disposition.split(";").reduce((acc, chunk) => {
|
|
5002
|
-
const [name2, ...
|
|
5003
|
-
acc[name2] =
|
|
5002
|
+
const [name2, ...rest] = chunk.trim().split("=");
|
|
5003
|
+
acc[name2] = rest.join("=");
|
|
5004
5004
|
return acc;
|
|
5005
5005
|
}, {});
|
|
5006
5006
|
const name = (_a2 = directives.name) == null ? void 0 : _a2.slice(1, -1);
|
|
@@ -5029,8 +5029,8 @@ spurious results.`);
|
|
|
5029
5029
|
const parsedBody = {};
|
|
5030
5030
|
try {
|
|
5031
5031
|
for (const field of fields) {
|
|
5032
|
-
const [contentHeaders, ...
|
|
5033
|
-
const contentBody =
|
|
5032
|
+
const [contentHeaders, ...rest] = field.split("\r\n\r\n");
|
|
5033
|
+
const contentBody = rest.join("\r\n\r\n");
|
|
5034
5034
|
const { contentType: contentType2, filename, name } = parseContentHeaders(contentHeaders);
|
|
5035
5035
|
const value = filename === void 0 ? contentBody : new File([contentBody], filename, { type: contentType2 });
|
|
5036
5036
|
const parsedValue = parsedBody[name];
|
|
@@ -5465,8 +5465,8 @@ Consider naming this operation or using "graphql.operation()" request handler to
|
|
|
5465
5465
|
function groupHandlersByType(handlers) {
|
|
5466
5466
|
return handlers.reduce(
|
|
5467
5467
|
(groups, handler) => {
|
|
5468
|
-
if (handler instanceof
|
|
5469
|
-
groups.
|
|
5468
|
+
if (handler instanceof HttpHandler) {
|
|
5469
|
+
groups.http.push(handler);
|
|
5470
5470
|
}
|
|
5471
5471
|
if (handler instanceof GraphQLHandler) {
|
|
5472
5472
|
groups.graphql.push(handler);
|
|
@@ -5474,12 +5474,12 @@ Consider naming this operation or using "graphql.operation()" request handler to
|
|
|
5474
5474
|
return groups;
|
|
5475
5475
|
},
|
|
5476
5476
|
{
|
|
5477
|
-
|
|
5477
|
+
http: [],
|
|
5478
5478
|
graphql: []
|
|
5479
5479
|
}
|
|
5480
5480
|
);
|
|
5481
5481
|
}
|
|
5482
|
-
function
|
|
5482
|
+
function getHttpHandlerScore() {
|
|
5483
5483
|
return (request, handler) => {
|
|
5484
5484
|
const { path, method } = handler.info;
|
|
5485
5485
|
if (path instanceof RegExp || method instanceof RegExp) {
|
|
@@ -5529,11 +5529,11 @@ ${handlers.map((handler) => ` \u2022 ${handler.info.header}`).join("\n")}`;
|
|
|
5529
5529
|
);
|
|
5530
5530
|
function generateHandlerSuggestion() {
|
|
5531
5531
|
const handlerGroups = groupHandlersByType(handlers);
|
|
5532
|
-
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.
|
|
5532
|
+
const relevantHandlers = parsedGraphQLQuery ? handlerGroups.graphql : handlerGroups.http;
|
|
5533
5533
|
const suggestedHandlers = getSuggestedHandler(
|
|
5534
5534
|
request,
|
|
5535
5535
|
relevantHandlers,
|
|
5536
|
-
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) :
|
|
5536
|
+
parsedGraphQLQuery ? getGraphQLHandlerScore(parsedGraphQLQuery) : getHttpHandlerScore()
|
|
5537
5537
|
);
|
|
5538
5538
|
return suggestedHandlers.length > 0 ? getSuggestedHandlersMessage(suggestedHandlers) : "";
|
|
5539
5539
|
}
|
|
@@ -5597,9 +5597,9 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
5597
5597
|
function handleRequest(request, requestId, handlers, options, emitter, handleRequestOptions) {
|
|
5598
5598
|
return __async(this, null, function* () {
|
|
5599
5599
|
var _a2, _b2, _c, _d, _e, _f;
|
|
5600
|
-
emitter.emit("request:start", request, requestId);
|
|
5600
|
+
emitter.emit("request:start", { request, requestId });
|
|
5601
5601
|
if (request.headers.get("x-msw-intention") === "bypass") {
|
|
5602
|
-
emitter.emit("request:end", request, requestId);
|
|
5602
|
+
emitter.emit("request:end", { request, requestId });
|
|
5603
5603
|
(_a2 = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _a2.call(handleRequestOptions, request);
|
|
5604
5604
|
return;
|
|
5605
5605
|
}
|
|
@@ -5611,29 +5611,33 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
5611
5611
|
);
|
|
5612
5612
|
});
|
|
5613
5613
|
if (lookupResult.error) {
|
|
5614
|
-
emitter.emit("unhandledException",
|
|
5614
|
+
emitter.emit("unhandledException", {
|
|
5615
|
+
error: lookupResult.error,
|
|
5616
|
+
request,
|
|
5617
|
+
requestId
|
|
5618
|
+
});
|
|
5615
5619
|
throw lookupResult.error;
|
|
5616
5620
|
}
|
|
5617
5621
|
if (!lookupResult.data) {
|
|
5618
5622
|
yield onUnhandledRequest(request, handlers, options.onUnhandledRequest);
|
|
5619
|
-
emitter.emit("request:unhandled", request, requestId);
|
|
5620
|
-
emitter.emit("request:end", request, requestId);
|
|
5623
|
+
emitter.emit("request:unhandled", { request, requestId });
|
|
5624
|
+
emitter.emit("request:end", { request, requestId });
|
|
5621
5625
|
(_b2 = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _b2.call(handleRequestOptions, request);
|
|
5622
5626
|
return;
|
|
5623
5627
|
}
|
|
5624
5628
|
const { response } = lookupResult.data;
|
|
5625
5629
|
if (!response) {
|
|
5626
|
-
emitter.emit("request:end", request, requestId);
|
|
5630
|
+
emitter.emit("request:end", { request, requestId });
|
|
5627
5631
|
(_c = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _c.call(handleRequestOptions, request);
|
|
5628
5632
|
return;
|
|
5629
5633
|
}
|
|
5630
5634
|
if (response.status === 302 && response.headers.get("x-msw-intention") === "passthrough") {
|
|
5631
|
-
emitter.emit("request:end", request, requestId);
|
|
5635
|
+
emitter.emit("request:end", { request, requestId });
|
|
5632
5636
|
(_d = handleRequestOptions == null ? void 0 : handleRequestOptions.onPassthroughResponse) == null ? void 0 : _d.call(handleRequestOptions, request);
|
|
5633
5637
|
return;
|
|
5634
5638
|
}
|
|
5635
5639
|
readResponseCookies(request, response);
|
|
5636
|
-
emitter.emit("request:match", request, requestId);
|
|
5640
|
+
emitter.emit("request:match", { request, requestId });
|
|
5637
5641
|
const requiredLookupResult = lookupResult.data;
|
|
5638
5642
|
const transformedResponse = ((_e = handleRequestOptions == null ? void 0 : handleRequestOptions.transformResponse) == null ? void 0 : _e.call(handleRequestOptions, response)) || response;
|
|
5639
5643
|
(_f = handleRequestOptions == null ? void 0 : handleRequestOptions.onMockedResponse) == null ? void 0 : _f.call(
|
|
@@ -5641,7 +5645,7 @@ Read more: https://mswjs.io/docs/getting-started/mocks`
|
|
|
5641
5645
|
transformedResponse,
|
|
5642
5646
|
requiredLookupResult
|
|
5643
5647
|
);
|
|
5644
|
-
emitter.emit("request:end", request, requestId);
|
|
5648
|
+
emitter.emit("request:end", { request, requestId });
|
|
5645
5649
|
return transformedResponse;
|
|
5646
5650
|
});
|
|
5647
5651
|
}
|
|
@@ -5996,8 +6000,8 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
|
|
|
5996
6000
|
constructor(port) {
|
|
5997
6001
|
this.port = port;
|
|
5998
6002
|
}
|
|
5999
|
-
postMessage(event, ...
|
|
6000
|
-
const [data, transfer] =
|
|
6003
|
+
postMessage(event, ...rest) {
|
|
6004
|
+
const [data, transfer] = rest;
|
|
6001
6005
|
this.port.postMessage(
|
|
6002
6006
|
{ type: event, data },
|
|
6003
6007
|
{
|
|
@@ -6068,7 +6072,7 @@ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/i
|
|
|
6068
6072
|
responseStream ? [responseStream] : void 0
|
|
6069
6073
|
);
|
|
6070
6074
|
if (!options.quiet) {
|
|
6071
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
6075
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
6072
6076
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
6073
6077
|
});
|
|
6074
6078
|
}
|
|
@@ -6154,25 +6158,18 @@ This exception has been gracefully handled as a 500 response, however, it's stro
|
|
|
6154
6158
|
return;
|
|
6155
6159
|
}
|
|
6156
6160
|
const response = responseJson.status === 0 ? Response.error() : new Response(responseJson.body, responseJson);
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6161
|
+
context.emitter.emit(
|
|
6162
|
+
responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
|
|
6163
|
+
{
|
|
6160
6164
|
response,
|
|
6161
6165
|
/**
|
|
6162
6166
|
* @todo @fixme In this context, we don't know anything about
|
|
6163
6167
|
* the request.
|
|
6164
6168
|
*/
|
|
6165
|
-
null,
|
|
6166
|
-
responseJson.requestId
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
context.emitter.emit(
|
|
6170
|
-
"response:bypass",
|
|
6171
|
-
response,
|
|
6172
|
-
null,
|
|
6173
|
-
responseJson.requestId
|
|
6174
|
-
);
|
|
6175
|
-
}
|
|
6169
|
+
request: null,
|
|
6170
|
+
requestId: responseJson.requestId
|
|
6171
|
+
}
|
|
6172
|
+
);
|
|
6176
6173
|
};
|
|
6177
6174
|
}
|
|
6178
6175
|
|
|
@@ -9490,7 +9487,7 @@ If this message still persists after updating, please report an issue: https://g
|
|
|
9490
9487
|
{
|
|
9491
9488
|
onMockedResponse(_, { handler, parsedRequest }) {
|
|
9492
9489
|
if (!options.quiet) {
|
|
9493
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
9490
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
9494
9491
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
9495
9492
|
});
|
|
9496
9493
|
}
|
|
@@ -9506,9 +9503,11 @@ If this message still persists after updating, please report an issue: https://g
|
|
|
9506
9503
|
({ response, isMockedResponse, request, requestId }) => {
|
|
9507
9504
|
context.emitter.emit(
|
|
9508
9505
|
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
9509
|
-
|
|
9510
|
-
|
|
9511
|
-
|
|
9506
|
+
{
|
|
9507
|
+
response,
|
|
9508
|
+
request,
|
|
9509
|
+
requestId
|
|
9510
|
+
}
|
|
9512
9511
|
);
|
|
9513
9512
|
}
|
|
9514
9513
|
);
|
|
@@ -9655,19 +9654,6 @@ If this message still persists after updating, please report an issue: https://g
|
|
|
9655
9654
|
return yield this.startHandler(this.context.startOptions, options);
|
|
9656
9655
|
});
|
|
9657
9656
|
}
|
|
9658
|
-
printHandlers() {
|
|
9659
|
-
const handlers = this.listHandlers();
|
|
9660
|
-
handlers.forEach((handler) => {
|
|
9661
|
-
const { header, callFrame } = handler.info;
|
|
9662
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
9663
|
-
console.groupCollapsed(`${pragma} ${header}`);
|
|
9664
|
-
if (callFrame) {
|
|
9665
|
-
console.log(`Declaration: ${callFrame}`);
|
|
9666
|
-
}
|
|
9667
|
-
console.log("Handler:", handler);
|
|
9668
|
-
console.groupEnd();
|
|
9669
|
-
});
|
|
9670
|
-
}
|
|
9671
9657
|
stop() {
|
|
9672
9658
|
super.dispose();
|
|
9673
9659
|
this.context.events.removeAllListeners();
|
package/lib/mockServiceWorker.js
CHANGED
package/lib/native/index.d.ts
CHANGED
|
@@ -35,11 +35,6 @@ interface SetupServer {
|
|
|
35
35
|
* @see {@link https://mswjs.io/docs/api/setup-server/list-handlers `server.listHandlers()`}
|
|
36
36
|
*/
|
|
37
37
|
listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, any>>;
|
|
38
|
-
/**
|
|
39
|
-
* Lists all active request handlers.
|
|
40
|
-
* @see {@link https://mswjs.io/docs/api/setup-server/print-handlers `server.print-handlers()`}
|
|
41
|
-
*/
|
|
42
|
-
printHandlers(): void;
|
|
43
38
|
events: LifeCycleEventEmitter<LifeCycleEventsMap>;
|
|
44
39
|
}
|
|
45
40
|
|
|
@@ -54,7 +49,6 @@ declare class SetupServerApi extends SetupApi<LifeCycleEventsMap> implements Set
|
|
|
54
49
|
*/
|
|
55
50
|
private init;
|
|
56
51
|
listen(options?: Partial<SharedOptions>): void;
|
|
57
|
-
printHandlers(): void;
|
|
58
52
|
close(): void;
|
|
59
53
|
}
|
|
60
54
|
|
package/lib/native/index.js
CHANGED
|
@@ -87,9 +87,11 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
87
87
|
({ response, isMockedResponse, request, requestId }) => {
|
|
88
88
|
this.emitter.emit(
|
|
89
89
|
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
{
|
|
91
|
+
response,
|
|
92
|
+
request,
|
|
93
|
+
requestId
|
|
94
|
+
}
|
|
93
95
|
);
|
|
94
96
|
}
|
|
95
97
|
);
|
|
@@ -113,16 +115,6 @@ var SetupServerApi = class extends import_SetupApi.SetupApi {
|
|
|
113
115
|
"https://github.com/mswjs/msw/issues/new/choose"
|
|
114
116
|
);
|
|
115
117
|
}
|
|
116
|
-
printHandlers() {
|
|
117
|
-
const handlers = this.listHandlers();
|
|
118
|
-
handlers.forEach((handler) => {
|
|
119
|
-
const { header, callFrame } = handler.info;
|
|
120
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
121
|
-
console.log(`${`${pragma} ${header}`}
|
|
122
|
-
Declaration: ${callFrame}
|
|
123
|
-
`);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
118
|
close() {
|
|
127
119
|
this.dispose();
|
|
128
120
|
}
|