msw 0.0.0-fetch.rc-19 → 0.0.0-fetch.rc-21
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 +5 -2
- package/lib/browser/index.d.ts +21 -8
- package/lib/browser/index.js +14 -6
- package/lib/browser/index.mjs +14 -6
- package/lib/core/{GraphQLHandler-2e60cda6.d.ts → GraphQLHandler-a441dd03.d.ts} +19 -7
- package/lib/core/HttpResponse.d.ts +1 -1
- package/lib/core/{RequestHandler-e964183f.d.ts → RequestHandler-b59044ae.d.ts} +44 -17
- package/lib/core/SetupApi.d.ts +1 -1
- package/lib/core/bypass.d.ts +7 -7
- package/lib/core/bypass.js +10 -68
- package/lib/core/bypass.mjs +10 -68
- package/lib/core/delay.d.ts +3 -0
- package/lib/core/graphql.d.ts +62 -30
- package/lib/core/graphql.js +38 -16
- package/lib/core/graphql.mjs +38 -16
- package/lib/core/handlers/GraphQLHandler.d.ts +2 -2
- package/lib/core/handlers/GraphQLHandler.js +26 -20
- package/lib/core/handlers/GraphQLHandler.mjs +26 -20
- package/lib/core/handlers/HttpHandler.d.ts +18 -6
- package/lib/core/handlers/HttpHandler.js +17 -16
- package/lib/core/handlers/HttpHandler.mjs +17 -16
- package/lib/core/handlers/RequestHandler.d.ts +1 -1
- package/lib/core/handlers/RequestHandler.js +43 -35
- package/lib/core/handlers/RequestHandler.mjs +43 -35
- package/lib/core/http.d.ts +18 -9
- package/lib/core/index.d.ts +2 -2
- package/lib/core/passthrough.d.ts +3 -1
- package/lib/core/sharedOptions.d.ts +1 -1
- package/lib/core/utils/HttpResponse/decorators.d.ts +1 -1
- package/lib/core/utils/getResponse.d.ts +1 -1
- package/lib/core/utils/getResponse.js +2 -2
- package/lib/core/utils/getResponse.mjs +2 -2
- package/lib/core/utils/handleRequest.d.ts +1 -1
- package/lib/core/utils/internal/parseGraphQLRequest.d.ts +2 -2
- package/lib/core/utils/internal/parseMultipartData.d.ts +1 -1
- package/lib/core/utils/internal/requestHandlerUtils.d.ts +2 -2
- package/lib/core/utils/logging/serializeRequest.d.ts +1 -3
- package/lib/core/utils/logging/serializeRequest.js +1 -2
- package/lib/core/utils/logging/serializeRequest.mjs +1 -2
- package/lib/core/utils/logging/serializeResponse.d.ts +1 -3
- package/lib/core/utils/logging/serializeResponse.js +1 -2
- package/lib/core/utils/logging/serializeResponse.mjs +1 -2
- package/lib/core/utils/request/onUnhandledRequest.d.ts +1 -1
- package/lib/core/utils/request/onUnhandledRequest.js +1 -1
- package/lib/core/utils/request/onUnhandledRequest.mjs +1 -1
- package/lib/core/utils/toResponseInit.js +1 -2
- package/lib/core/utils/toResponseInit.mjs +1 -2
- package/lib/iife/index.js +2182 -2094
- package/lib/mockServiceWorker.js +4 -17
- package/lib/native/index.d.ts +20 -7
- package/lib/native/index.js +5 -0
- package/lib/native/index.mjs +5 -0
- package/lib/node/index.d.ts +20 -7
- package/lib/node/index.js +5 -0
- package/lib/node/index.mjs +5 -0
- package/package.json +5 -6
|
@@ -52,7 +52,7 @@ class HttpHandler extends RequestHandler {
|
|
|
52
52
|
method
|
|
53
53
|
},
|
|
54
54
|
resolver,
|
|
55
|
-
|
|
55
|
+
options
|
|
56
56
|
});
|
|
57
57
|
this.checkRedundantQueryParameters();
|
|
58
58
|
}
|
|
@@ -74,46 +74,47 @@ class HttpHandler extends RequestHandler {
|
|
|
74
74
|
`Found a redundant usage of query parameters in the request handler URL for "${method} ${path}". Please match against a path instead and access query parameters in the response resolver function using "req.url.searchParams".`
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
|
-
parse(
|
|
77
|
+
parse(args) {
|
|
78
78
|
return __async(this, null, function* () {
|
|
79
|
-
|
|
79
|
+
var _a;
|
|
80
|
+
const url = new URL(args.request.url);
|
|
80
81
|
const match = matchRequestUrl(
|
|
81
82
|
url,
|
|
82
83
|
this.info.path,
|
|
83
|
-
resolutionContext == null ? void 0 :
|
|
84
|
+
(_a = args.resolutionContext) == null ? void 0 : _a.baseUrl
|
|
84
85
|
);
|
|
85
|
-
const cookies = getAllRequestCookies(request);
|
|
86
|
+
const cookies = getAllRequestCookies(args.request);
|
|
86
87
|
return {
|
|
87
88
|
match,
|
|
88
89
|
cookies
|
|
89
90
|
};
|
|
90
91
|
});
|
|
91
92
|
}
|
|
92
|
-
predicate(
|
|
93
|
-
const hasMatchingMethod = this.matchMethod(request.method);
|
|
94
|
-
const hasMatchingUrl = parsedResult.match.matches;
|
|
93
|
+
predicate(args) {
|
|
94
|
+
const hasMatchingMethod = this.matchMethod(args.request.method);
|
|
95
|
+
const hasMatchingUrl = args.parsedResult.match.matches;
|
|
95
96
|
return hasMatchingMethod && hasMatchingUrl;
|
|
96
97
|
}
|
|
97
98
|
matchMethod(actualMethod) {
|
|
98
99
|
return this.info.method instanceof RegExp ? this.info.method.test(actualMethod) : isStringEqual(this.info.method, actualMethod);
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
+
extendResolverArgs(args) {
|
|
101
102
|
var _a;
|
|
102
103
|
return {
|
|
103
|
-
params: ((_a = parsedResult.match) == null ? void 0 : _a.params) || {},
|
|
104
|
-
cookies: parsedResult.cookies
|
|
104
|
+
params: ((_a = args.parsedResult.match) == null ? void 0 : _a.params) || {},
|
|
105
|
+
cookies: args.parsedResult.cookies
|
|
105
106
|
};
|
|
106
107
|
}
|
|
107
|
-
log(
|
|
108
|
+
log(args) {
|
|
108
109
|
return __async(this, null, function* () {
|
|
109
|
-
const publicUrl = getPublicUrlFromRequest(request);
|
|
110
|
-
const loggedRequest = yield serializeRequest(request);
|
|
111
|
-
const loggedResponse = yield serializeResponse(response);
|
|
110
|
+
const publicUrl = getPublicUrlFromRequest(args.request);
|
|
111
|
+
const loggedRequest = yield serializeRequest(args.request);
|
|
112
|
+
const loggedResponse = yield serializeResponse(args.response);
|
|
112
113
|
const statusColor = getStatusCodeColor(loggedResponse.status);
|
|
113
114
|
console.groupCollapsed(
|
|
114
115
|
devUtils.formatMessage("%s %s %s (%c%s%c)"),
|
|
115
116
|
getTimestamp(),
|
|
116
|
-
request.method,
|
|
117
|
+
args.request.method,
|
|
117
118
|
publicUrl,
|
|
118
119
|
`color:${statusColor}`,
|
|
119
120
|
`${loggedResponse.status} ${loggedResponse.statusText}`,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, c as DefaultRequestMultipartBody, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, g as RequestHandlerDefaultInfo, n as RequestHandlerExecutionResult, k as RequestHandlerInternalInfo,
|
|
1
|
+
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, c as DefaultRequestMultipartBody, M as MaybeAsyncResponseResolverReturnType, R as RequestHandler, m as RequestHandlerArgs, g as RequestHandlerDefaultInfo, n as RequestHandlerExecutionResult, k as RequestHandlerInternalInfo, f as RequestHandlerOptions, a as ResponseResolver, l as ResponseResolverInfo, b as ResponseResolverReturnType } from '../RequestHandler-b59044ae.js';
|
|
2
2
|
import '../typeUtils.js';
|
|
@@ -62,20 +62,20 @@ var import_outvariant = require("outvariant");
|
|
|
62
62
|
var import_getCallFrame = require("../utils/internal/getCallFrame.js");
|
|
63
63
|
var import_isIterable = require("../utils/internal/isIterable.js");
|
|
64
64
|
class RequestHandler {
|
|
65
|
-
constructor(
|
|
66
|
-
this.resolver =
|
|
67
|
-
this.
|
|
65
|
+
constructor(args) {
|
|
66
|
+
this.resolver = args.resolver;
|
|
67
|
+
this.options = args.options;
|
|
68
68
|
const callFrame = (0, import_getCallFrame.getCallFrame)(new Error());
|
|
69
|
-
this.info = __spreadProps(__spreadValues({},
|
|
69
|
+
this.info = __spreadProps(__spreadValues({}, args.info), {
|
|
70
70
|
callFrame
|
|
71
71
|
});
|
|
72
72
|
this.isUsed = false;
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* Parse the
|
|
75
|
+
* Parse the intercepted request to extract additional information from it.
|
|
76
76
|
* Parsed result is then exposed to other methods of this request handler.
|
|
77
77
|
*/
|
|
78
|
-
parse(
|
|
78
|
+
parse(_args) {
|
|
79
79
|
return __async(this, null, function* () {
|
|
80
80
|
return {};
|
|
81
81
|
});
|
|
@@ -83,53 +83,61 @@ class RequestHandler {
|
|
|
83
83
|
/**
|
|
84
84
|
* Test if this handler matches the given request.
|
|
85
85
|
*/
|
|
86
|
-
test(
|
|
86
|
+
test(args) {
|
|
87
87
|
return __async(this, null, function* () {
|
|
88
|
-
|
|
89
|
-
request,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
const parsedResult = yield this.parse({
|
|
89
|
+
request: args.request,
|
|
90
|
+
resolutionContext: args.resolutionContext
|
|
91
|
+
});
|
|
92
|
+
return this.predicate({
|
|
93
|
+
request: args.request,
|
|
94
|
+
parsedResult,
|
|
95
|
+
resolutionContext: args.resolutionContext
|
|
96
|
+
});
|
|
93
97
|
});
|
|
94
98
|
}
|
|
95
|
-
|
|
99
|
+
extendResolverArgs(_args) {
|
|
96
100
|
return {};
|
|
97
101
|
}
|
|
98
102
|
/**
|
|
99
103
|
* Execute this request handler and produce a mocked response
|
|
100
104
|
* using the given resolver function.
|
|
101
105
|
*/
|
|
102
|
-
run(
|
|
106
|
+
run(args) {
|
|
103
107
|
return __async(this, null, function* () {
|
|
104
|
-
|
|
108
|
+
var _a;
|
|
109
|
+
if (this.isUsed && ((_a = this.options) == null ? void 0 : _a.once)) {
|
|
105
110
|
return null;
|
|
106
111
|
}
|
|
107
|
-
const mainRequestRef = request.clone();
|
|
112
|
+
const mainRequestRef = args.request.clone();
|
|
108
113
|
this.isUsed = true;
|
|
109
|
-
const parsedResult = yield this.parse(
|
|
110
|
-
|
|
111
|
-
resolutionContext
|
|
112
|
-
);
|
|
113
|
-
const shouldInterceptRequest = this.predicate(
|
|
114
|
-
|
|
114
|
+
const parsedResult = yield this.parse({
|
|
115
|
+
request: args.request,
|
|
116
|
+
resolutionContext: args.resolutionContext
|
|
117
|
+
});
|
|
118
|
+
const shouldInterceptRequest = this.predicate({
|
|
119
|
+
request: args.request,
|
|
115
120
|
parsedResult,
|
|
116
|
-
resolutionContext
|
|
117
|
-
);
|
|
121
|
+
resolutionContext: args.resolutionContext
|
|
122
|
+
});
|
|
118
123
|
if (!shouldInterceptRequest) {
|
|
119
124
|
return null;
|
|
120
125
|
}
|
|
121
126
|
const executeResolver = this.wrapResolver(this.resolver);
|
|
122
|
-
const resolverExtras = this.
|
|
127
|
+
const resolverExtras = this.extendResolverArgs({
|
|
128
|
+
request: args.request,
|
|
129
|
+
parsedResult
|
|
130
|
+
});
|
|
123
131
|
const mockedResponse = yield executeResolver(__spreadProps(__spreadValues({}, resolverExtras), {
|
|
124
|
-
request
|
|
132
|
+
request: args.request
|
|
125
133
|
}));
|
|
126
|
-
const executionResult = this.createExecutionResult(
|
|
134
|
+
const executionResult = this.createExecutionResult({
|
|
127
135
|
// Pass the cloned request to the result so that logging
|
|
128
136
|
// and other consumers could read its body once more.
|
|
129
|
-
mainRequestRef,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
);
|
|
137
|
+
request: mainRequestRef,
|
|
138
|
+
response: mockedResponse,
|
|
139
|
+
parsedResult
|
|
140
|
+
});
|
|
133
141
|
return executionResult;
|
|
134
142
|
});
|
|
135
143
|
}
|
|
@@ -161,12 +169,12 @@ class RequestHandler {
|
|
|
161
169
|
return result;
|
|
162
170
|
});
|
|
163
171
|
}
|
|
164
|
-
createExecutionResult(
|
|
172
|
+
createExecutionResult(args) {
|
|
165
173
|
return {
|
|
166
174
|
handler: this,
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
175
|
+
request: args.request,
|
|
176
|
+
response: args.response,
|
|
177
|
+
parsedResult: args.parsedResult
|
|
170
178
|
};
|
|
171
179
|
}
|
|
172
180
|
}
|
|
@@ -41,20 +41,20 @@ import { invariant } from "outvariant";
|
|
|
41
41
|
import { getCallFrame } from '../utils/internal/getCallFrame.mjs';
|
|
42
42
|
import { isIterable } from '../utils/internal/isIterable.mjs';
|
|
43
43
|
class RequestHandler {
|
|
44
|
-
constructor(
|
|
45
|
-
this.resolver =
|
|
46
|
-
this.
|
|
44
|
+
constructor(args) {
|
|
45
|
+
this.resolver = args.resolver;
|
|
46
|
+
this.options = args.options;
|
|
47
47
|
const callFrame = getCallFrame(new Error());
|
|
48
|
-
this.info = __spreadProps(__spreadValues({},
|
|
48
|
+
this.info = __spreadProps(__spreadValues({}, args.info), {
|
|
49
49
|
callFrame
|
|
50
50
|
});
|
|
51
51
|
this.isUsed = false;
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
* Parse the
|
|
54
|
+
* Parse the intercepted request to extract additional information from it.
|
|
55
55
|
* Parsed result is then exposed to other methods of this request handler.
|
|
56
56
|
*/
|
|
57
|
-
parse(
|
|
57
|
+
parse(_args) {
|
|
58
58
|
return __async(this, null, function* () {
|
|
59
59
|
return {};
|
|
60
60
|
});
|
|
@@ -62,53 +62,61 @@ class RequestHandler {
|
|
|
62
62
|
/**
|
|
63
63
|
* Test if this handler matches the given request.
|
|
64
64
|
*/
|
|
65
|
-
test(
|
|
65
|
+
test(args) {
|
|
66
66
|
return __async(this, null, function* () {
|
|
67
|
-
|
|
68
|
-
request,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
const parsedResult = yield this.parse({
|
|
68
|
+
request: args.request,
|
|
69
|
+
resolutionContext: args.resolutionContext
|
|
70
|
+
});
|
|
71
|
+
return this.predicate({
|
|
72
|
+
request: args.request,
|
|
73
|
+
parsedResult,
|
|
74
|
+
resolutionContext: args.resolutionContext
|
|
75
|
+
});
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
|
-
|
|
78
|
+
extendResolverArgs(_args) {
|
|
75
79
|
return {};
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
78
82
|
* Execute this request handler and produce a mocked response
|
|
79
83
|
* using the given resolver function.
|
|
80
84
|
*/
|
|
81
|
-
run(
|
|
85
|
+
run(args) {
|
|
82
86
|
return __async(this, null, function* () {
|
|
83
|
-
|
|
87
|
+
var _a;
|
|
88
|
+
if (this.isUsed && ((_a = this.options) == null ? void 0 : _a.once)) {
|
|
84
89
|
return null;
|
|
85
90
|
}
|
|
86
|
-
const mainRequestRef = request.clone();
|
|
91
|
+
const mainRequestRef = args.request.clone();
|
|
87
92
|
this.isUsed = true;
|
|
88
|
-
const parsedResult = yield this.parse(
|
|
89
|
-
|
|
90
|
-
resolutionContext
|
|
91
|
-
);
|
|
92
|
-
const shouldInterceptRequest = this.predicate(
|
|
93
|
-
|
|
93
|
+
const parsedResult = yield this.parse({
|
|
94
|
+
request: args.request,
|
|
95
|
+
resolutionContext: args.resolutionContext
|
|
96
|
+
});
|
|
97
|
+
const shouldInterceptRequest = this.predicate({
|
|
98
|
+
request: args.request,
|
|
94
99
|
parsedResult,
|
|
95
|
-
resolutionContext
|
|
96
|
-
);
|
|
100
|
+
resolutionContext: args.resolutionContext
|
|
101
|
+
});
|
|
97
102
|
if (!shouldInterceptRequest) {
|
|
98
103
|
return null;
|
|
99
104
|
}
|
|
100
105
|
const executeResolver = this.wrapResolver(this.resolver);
|
|
101
|
-
const resolverExtras = this.
|
|
106
|
+
const resolverExtras = this.extendResolverArgs({
|
|
107
|
+
request: args.request,
|
|
108
|
+
parsedResult
|
|
109
|
+
});
|
|
102
110
|
const mockedResponse = yield executeResolver(__spreadProps(__spreadValues({}, resolverExtras), {
|
|
103
|
-
request
|
|
111
|
+
request: args.request
|
|
104
112
|
}));
|
|
105
|
-
const executionResult = this.createExecutionResult(
|
|
113
|
+
const executionResult = this.createExecutionResult({
|
|
106
114
|
// Pass the cloned request to the result so that logging
|
|
107
115
|
// and other consumers could read its body once more.
|
|
108
|
-
mainRequestRef,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
);
|
|
116
|
+
request: mainRequestRef,
|
|
117
|
+
response: mockedResponse,
|
|
118
|
+
parsedResult
|
|
119
|
+
});
|
|
112
120
|
return executionResult;
|
|
113
121
|
});
|
|
114
122
|
}
|
|
@@ -140,12 +148,12 @@ class RequestHandler {
|
|
|
140
148
|
return result;
|
|
141
149
|
});
|
|
142
150
|
}
|
|
143
|
-
createExecutionResult(
|
|
151
|
+
createExecutionResult(args) {
|
|
144
152
|
return {
|
|
145
153
|
handler: this,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
154
|
+
request: args.request,
|
|
155
|
+
response: args.response,
|
|
156
|
+
parsedResult: args.parsedResult
|
|
149
157
|
};
|
|
150
158
|
}
|
|
151
159
|
}
|
package/lib/core/http.d.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import { D as DefaultBodyType, a as ResponseResolver, f as
|
|
1
|
+
import { D as DefaultBodyType, a as ResponseResolver, f as RequestHandlerOptions } from './RequestHandler-b59044ae.js';
|
|
2
2
|
import { HttpRequestResolverExtras, HttpHandler } from './handlers/HttpHandler.js';
|
|
3
3
|
import { PathParams, Path } from './utils/matching/matchRequestUrl.js';
|
|
4
4
|
import './typeUtils.js';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* A namespace to intercept and mock HTTP requests.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* http.get('/user', resolver)
|
|
11
|
+
* http.post('/post/:id', resolver)
|
|
12
|
+
*
|
|
13
|
+
* @see {@link https://mswjs.io/docs/api/http `http` API reference}
|
|
14
|
+
*/
|
|
6
15
|
declare const http: {
|
|
7
|
-
all: <Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params>, RequestBodyType, ResponseBodyType>, options?:
|
|
8
|
-
head: <Params_1 extends PathParams<keyof Params_1> = PathParams, RequestBodyType_1 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_1 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_1>, RequestBodyType_1, ResponseBodyType_1>, options?:
|
|
9
|
-
get: <Params_2 extends PathParams<keyof Params_2> = PathParams, RequestBodyType_2 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_2 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_2>, RequestBodyType_2, ResponseBodyType_2>, options?:
|
|
10
|
-
post: <Params_3 extends PathParams<keyof Params_3> = PathParams, RequestBodyType_3 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_3 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_3>, RequestBodyType_3, ResponseBodyType_3>, options?:
|
|
11
|
-
put: <Params_4 extends PathParams<keyof Params_4> = PathParams, RequestBodyType_4 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_4 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_4>, RequestBodyType_4, ResponseBodyType_4>, options?:
|
|
12
|
-
delete: <Params_5 extends PathParams<keyof Params_5> = PathParams, RequestBodyType_5 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_5 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_5>, RequestBodyType_5, ResponseBodyType_5>, options?:
|
|
13
|
-
patch: <Params_6 extends PathParams<keyof Params_6> = PathParams, RequestBodyType_6 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_6 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_6>, RequestBodyType_6, ResponseBodyType_6>, options?:
|
|
14
|
-
options: <Params_7 extends PathParams<keyof Params_7> = PathParams, RequestBodyType_7 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_7 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_7>, RequestBodyType_7, ResponseBodyType_7>, options?:
|
|
16
|
+
all: <Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params>, RequestBodyType, ResponseBodyType>, options?: RequestHandlerOptions) => HttpHandler;
|
|
17
|
+
head: <Params_1 extends PathParams<keyof Params_1> = PathParams, RequestBodyType_1 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_1 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_1>, RequestBodyType_1, ResponseBodyType_1>, options?: RequestHandlerOptions) => HttpHandler;
|
|
18
|
+
get: <Params_2 extends PathParams<keyof Params_2> = PathParams, RequestBodyType_2 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_2 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_2>, RequestBodyType_2, ResponseBodyType_2>, options?: RequestHandlerOptions) => HttpHandler;
|
|
19
|
+
post: <Params_3 extends PathParams<keyof Params_3> = PathParams, RequestBodyType_3 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_3 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_3>, RequestBodyType_3, ResponseBodyType_3>, options?: RequestHandlerOptions) => HttpHandler;
|
|
20
|
+
put: <Params_4 extends PathParams<keyof Params_4> = PathParams, RequestBodyType_4 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_4 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_4>, RequestBodyType_4, ResponseBodyType_4>, options?: RequestHandlerOptions) => HttpHandler;
|
|
21
|
+
delete: <Params_5 extends PathParams<keyof Params_5> = PathParams, RequestBodyType_5 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_5 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_5>, RequestBodyType_5, ResponseBodyType_5>, options?: RequestHandlerOptions) => HttpHandler;
|
|
22
|
+
patch: <Params_6 extends PathParams<keyof Params_6> = PathParams, RequestBodyType_6 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_6 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_6>, RequestBodyType_6, ResponseBodyType_6>, options?: RequestHandlerOptions) => HttpHandler;
|
|
23
|
+
options: <Params_7 extends PathParams<keyof Params_7> = PathParams, RequestBodyType_7 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_7 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<Params_7>, RequestBodyType_7, ResponseBodyType_7>, options?: RequestHandlerOptions) => HttpHandler;
|
|
15
24
|
};
|
|
16
25
|
|
|
17
26
|
export { http };
|
package/lib/core/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { SetupApi } from './SetupApi.js';
|
|
2
|
-
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, c as DefaultRequestMultipartBody, e as HttpResponse, H as HttpResponseInit, R as RequestHandler, a as ResponseResolver, b as ResponseResolverReturnType, S as StrictRequest, d as StrictResponse } from './RequestHandler-
|
|
2
|
+
export { A as AsyncResponseResolverReturnType, D as DefaultBodyType, c as DefaultRequestMultipartBody, e as HttpResponse, H as HttpResponseInit, R as RequestHandler, a as ResponseResolver, b as ResponseResolverReturnType, S as StrictRequest, d as StrictResponse } from './RequestHandler-b59044ae.js';
|
|
3
3
|
export { http } from './http.js';
|
|
4
4
|
export { HttpHandler, HttpMethods, HttpRequestParsedResult, RequestQuery } from './handlers/HttpHandler.js';
|
|
5
5
|
export { graphql } from './graphql.js';
|
|
6
|
-
export { G as GraphQLHandler, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, a as GraphQLVariables, P as ParsedGraphQLRequest } from './GraphQLHandler-
|
|
6
|
+
export { G as GraphQLHandler, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, a as GraphQLVariables, P as ParsedGraphQLRequest } from './GraphQLHandler-a441dd03.js';
|
|
7
7
|
export { Match, Path, PathParams, matchRequestUrl } from './utils/matching/matchRequestUrl.js';
|
|
8
8
|
export { HandleRequestOptions, handleRequest } from './utils/handleRequest.js';
|
|
9
9
|
export { cleanUrl } from './utils/url/cleanUrl.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Performs the
|
|
2
|
+
* Performs the intercepted request as-is.
|
|
3
3
|
*
|
|
4
4
|
* This stops request handler lookup so no other handlers
|
|
5
5
|
* can affect this request past this point.
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* http.get('/resource', () => {
|
|
10
10
|
* return passthrough()
|
|
11
11
|
* })
|
|
12
|
+
*
|
|
13
|
+
* @see {@link https://mswjs.io/docs/api/passthrough `passthrough()` API reference}
|
|
12
14
|
*/
|
|
13
15
|
declare function passthrough(): Response;
|
|
14
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Emitter } from 'strict-event-emitter';
|
|
2
2
|
import { UnhandledRequestStrategy } from './utils/request/onUnhandledRequest.js';
|
|
3
|
-
import './RequestHandler-
|
|
3
|
+
import './RequestHandler-b59044ae.js';
|
|
4
4
|
import './typeUtils.js';
|
|
5
5
|
|
|
6
6
|
interface SharedOptions {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-
|
|
1
|
+
export { h as ResponseLookupResult, i as ResponseResolutionContext, j as getResponse } from '../RequestHandler-b59044ae.js';
|
|
2
2
|
import '../typeUtils.js';
|
|
@@ -45,7 +45,7 @@ const getResponse = (request, handlers, resolutionContext) => __async(void 0, nu
|
|
|
45
45
|
let matchingHandler = null;
|
|
46
46
|
let result = null;
|
|
47
47
|
for (const handler of handlers) {
|
|
48
|
-
result = yield handler.run(request, resolutionContext);
|
|
48
|
+
result = yield handler.run({ request, resolutionContext });
|
|
49
49
|
if (result !== null) {
|
|
50
50
|
matchingHandler = handler;
|
|
51
51
|
}
|
|
@@ -56,7 +56,7 @@ const getResponse = (request, handlers, resolutionContext) => __async(void 0, nu
|
|
|
56
56
|
if (matchingHandler) {
|
|
57
57
|
return {
|
|
58
58
|
handler: matchingHandler,
|
|
59
|
-
|
|
59
|
+
parsedResult: result == null ? void 0 : result.parsedResult,
|
|
60
60
|
response: result == null ? void 0 : result.response
|
|
61
61
|
};
|
|
62
62
|
}
|
|
@@ -22,7 +22,7 @@ const getResponse = (request, handlers, resolutionContext) => __async(void 0, nu
|
|
|
22
22
|
let matchingHandler = null;
|
|
23
23
|
let result = null;
|
|
24
24
|
for (const handler of handlers) {
|
|
25
|
-
result = yield handler.run(request, resolutionContext);
|
|
25
|
+
result = yield handler.run({ request, resolutionContext });
|
|
26
26
|
if (result !== null) {
|
|
27
27
|
matchingHandler = handler;
|
|
28
28
|
}
|
|
@@ -33,7 +33,7 @@ const getResponse = (request, handlers, resolutionContext) => __async(void 0, nu
|
|
|
33
33
|
if (matchingHandler) {
|
|
34
34
|
return {
|
|
35
35
|
handler: matchingHandler,
|
|
36
|
-
|
|
36
|
+
parsedResult: result == null ? void 0 : result.parsedResult,
|
|
37
37
|
response: result == null ? void 0 : result.response
|
|
38
38
|
};
|
|
39
39
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter } from 'strict-event-emitter';
|
|
2
|
-
import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-
|
|
2
|
+
import { h as ResponseLookupResult, R as RequestHandler } from '../RequestHandler-b59044ae.js';
|
|
3
3
|
import { SharedOptions, LifeCycleEventsMap } from '../sharedOptions.js';
|
|
4
4
|
import { RequiredDeep } from '../typeUtils.js';
|
|
5
5
|
import './request/onUnhandledRequest.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'graphql';
|
|
2
|
-
export { i as GraphQLMultipartRequestBody, h as GraphQLParsedOperationsMap, g as ParsedGraphQLQuery, P as ParsedGraphQLRequest, p as parseDocumentNode, j as parseGraphQLRequest } from '../../GraphQLHandler-
|
|
3
|
-
import '../../RequestHandler-
|
|
2
|
+
export { i as GraphQLMultipartRequestBody, h as GraphQLParsedOperationsMap, g as ParsedGraphQLQuery, P as ParsedGraphQLRequest, p as parseDocumentNode, j as parseGraphQLRequest } from '../../GraphQLHandler-a441dd03.js';
|
|
3
|
+
import '../../RequestHandler-b59044ae.js';
|
|
4
4
|
import '../../typeUtils.js';
|
|
5
5
|
import '../matching/matchRequestUrl.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { R as RequestHandler, g as RequestHandlerDefaultInfo } from '../../RequestHandler-
|
|
1
|
+
import { R as RequestHandler, g as RequestHandlerDefaultInfo, f as RequestHandlerOptions } from '../../RequestHandler-b59044ae.js';
|
|
2
2
|
import '../../typeUtils.js';
|
|
3
3
|
|
|
4
4
|
declare function use(currentHandlers: Array<RequestHandler>, ...handlers: Array<RequestHandler>): void;
|
|
5
5
|
declare function restoreHandlers(handlers: Array<RequestHandler>): void;
|
|
6
|
-
declare function resetHandlers(initialHandlers: Array<RequestHandler>, ...nextHandlers: Array<RequestHandler>): RequestHandler<RequestHandlerDefaultInfo, any, any>[];
|
|
6
|
+
declare function resetHandlers(initialHandlers: Array<RequestHandler>, ...nextHandlers: Array<RequestHandler>): RequestHandler<RequestHandlerDefaultInfo, any, any, RequestHandlerOptions>[];
|
|
7
7
|
|
|
8
8
|
export { resetHandlers, restoreHandlers, use };
|
|
@@ -41,7 +41,6 @@ __export(serializeRequest_exports, {
|
|
|
41
41
|
serializeRequest: () => serializeRequest
|
|
42
42
|
});
|
|
43
43
|
module.exports = __toCommonJS(serializeRequest_exports);
|
|
44
|
-
var import_headers_polyfill = require("headers-polyfill");
|
|
45
44
|
function serializeRequest(request) {
|
|
46
45
|
return __async(this, null, function* () {
|
|
47
46
|
const requestClone = request.clone();
|
|
@@ -49,7 +48,7 @@ function serializeRequest(request) {
|
|
|
49
48
|
return {
|
|
50
49
|
url: new URL(request.url),
|
|
51
50
|
method: request.method,
|
|
52
|
-
headers:
|
|
51
|
+
headers: Object.fromEntries(request.headers.entries()),
|
|
53
52
|
body: requestText
|
|
54
53
|
};
|
|
55
54
|
});
|
|
@@ -18,7 +18,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
18
18
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
|
-
import { headersToObject } from "headers-polyfill";
|
|
22
21
|
function serializeRequest(request) {
|
|
23
22
|
return __async(this, null, function* () {
|
|
24
23
|
const requestClone = request.clone();
|
|
@@ -26,7 +25,7 @@ function serializeRequest(request) {
|
|
|
26
25
|
return {
|
|
27
26
|
url: new URL(request.url),
|
|
28
27
|
method: request.method,
|
|
29
|
-
headers:
|
|
28
|
+
headers: Object.fromEntries(request.headers.entries()),
|
|
30
29
|
body: requestText
|
|
31
30
|
};
|
|
32
31
|
});
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { HeadersObject } from 'headers-polyfill';
|
|
2
|
-
|
|
3
1
|
interface SerializedResponse {
|
|
4
2
|
status: number;
|
|
5
3
|
statusText: string;
|
|
6
|
-
headers:
|
|
4
|
+
headers: Record<string, any>;
|
|
7
5
|
body: string;
|
|
8
6
|
}
|
|
9
7
|
declare function serializeResponse(response: Response): Promise<SerializedResponse>;
|
|
@@ -52,7 +52,6 @@ __export(serializeResponse_exports, {
|
|
|
52
52
|
});
|
|
53
53
|
module.exports = __toCommonJS(serializeResponse_exports);
|
|
54
54
|
var import_statuses = __toESM(require("@bundled-es-modules/statuses"));
|
|
55
|
-
var import_headers_polyfill = require("headers-polyfill");
|
|
56
55
|
const { message } = import_statuses.default;
|
|
57
56
|
function serializeResponse(response) {
|
|
58
57
|
return __async(this, null, function* () {
|
|
@@ -63,7 +62,7 @@ function serializeResponse(response) {
|
|
|
63
62
|
return {
|
|
64
63
|
status: responseStatus,
|
|
65
64
|
statusText: responseStatusText,
|
|
66
|
-
headers:
|
|
65
|
+
headers: Object.fromEntries(responseClone.headers.entries()),
|
|
67
66
|
body: responseText
|
|
68
67
|
};
|
|
69
68
|
});
|
|
@@ -19,7 +19,6 @@ var __async = (__this, __arguments, generator) => {
|
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
21
|
import statuses from "@bundled-es-modules/statuses";
|
|
22
|
-
import { headersToObject } from "headers-polyfill";
|
|
23
22
|
const { message } = statuses;
|
|
24
23
|
function serializeResponse(response) {
|
|
25
24
|
return __async(this, null, function* () {
|
|
@@ -30,7 +29,7 @@ function serializeResponse(response) {
|
|
|
30
29
|
return {
|
|
31
30
|
status: responseStatus,
|
|
32
31
|
statusText: responseStatusText,
|
|
33
|
-
headers:
|
|
32
|
+
headers: Object.fromEntries(responseClone.headers.entries()),
|
|
34
33
|
body: responseText
|
|
35
34
|
};
|
|
36
35
|
});
|
|
@@ -147,7 +147,7 @@ function onUnhandledRequest(request, handlers, strategy = "warn") {
|
|
|
147
147
|
const requestHeader = parsedGraphQLQuery ? getGraphQLRequestHeader(parsedGraphQLQuery) : `${request.method} ${publicUrl}`;
|
|
148
148
|
const handlerSuggestion = generateHandlerSuggestion();
|
|
149
149
|
const messageTemplate = [
|
|
150
|
-
`
|
|
150
|
+
`intercepted a request without a matching request handler:`,
|
|
151
151
|
` \u2022 ${requestHeader}`,
|
|
152
152
|
handlerSuggestion,
|
|
153
153
|
`If you still wish to intercept this unhandled request, please create a request handler for it.
|
|
@@ -116,7 +116,7 @@ function onUnhandledRequest(request, handlers, strategy = "warn") {
|
|
|
116
116
|
const requestHeader = parsedGraphQLQuery ? getGraphQLRequestHeader(parsedGraphQLQuery) : `${request.method} ${publicUrl}`;
|
|
117
117
|
const handlerSuggestion = generateHandlerSuggestion();
|
|
118
118
|
const messageTemplate = [
|
|
119
|
-
`
|
|
119
|
+
`intercepted a request without a matching request handler:`,
|
|
120
120
|
` \u2022 ${requestHeader}`,
|
|
121
121
|
handlerSuggestion,
|
|
122
122
|
`If you still wish to intercept this unhandled request, please create a request handler for it.
|