msw 0.0.0-fetch.rc-15 → 0.0.0-fetch.rc-17
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 +13 -8
- 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/GraphQLHandler.js +1 -1
- package/lib/core/handlers/GraphQLHandler.mjs +1 -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/internal/parseGraphQLRequest.js +4 -3
- package/lib/core/utils/internal/parseGraphQLRequest.mjs +4 -3
- package/lib/core/utils/request/onUnhandledRequest.js +14 -8
- package/lib/core/utils/request/onUnhandledRequest.mjs +15 -9
- package/lib/iife/index.js +97 -104
- 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 +2 -1
- package/lib/core/rest.mjs +0 -22
- /package/lib/core/{rest.spec.d.ts → http.spec.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -71,12 +71,12 @@ In-browser usage is what sets Mock Service Worker apart from other tools. Utiliz
|
|
|
71
71
|
```js
|
|
72
72
|
// src/mocks.js
|
|
73
73
|
// 1. Import the library.
|
|
74
|
-
import {
|
|
74
|
+
import { http, HttpResponse } from 'msw'
|
|
75
75
|
import { setupWorker } from 'msw/browser'
|
|
76
76
|
|
|
77
77
|
// 2. Describe network behavior with request handlers.
|
|
78
78
|
const worker = setupWorker(
|
|
79
|
-
|
|
79
|
+
http.get('https://github.com/octocat', ({ request, params, cookies }) => {
|
|
80
80
|
return HttpResponse.json(
|
|
81
81
|
{
|
|
82
82
|
message: 'Mocked response',
|
|
@@ -121,7 +121,7 @@ Take a look at the example of an integration test in Jest that uses [React Testi
|
|
|
121
121
|
// test/Dashboard.test.js
|
|
122
122
|
|
|
123
123
|
import React from 'react'
|
|
124
|
-
import {
|
|
124
|
+
import { http, HttpResponse } from 'msw'
|
|
125
125
|
import { setupServer } from 'msw/node'
|
|
126
126
|
import { render, screen, waitFor } from '@testing-library/react'
|
|
127
127
|
import Dashboard from '../src/components/Dashboard'
|
|
@@ -130,7 +130,7 @@ const server = setupServer(
|
|
|
130
130
|
// Describe network behavior with request handlers.
|
|
131
131
|
// Tip: move the handlers into their own module and
|
|
132
132
|
// import it across your browser and Node.js setups!
|
|
133
|
-
|
|
133
|
+
http.get('/posts', ({ request, params, cookies }) => {
|
|
134
134
|
return HttpResponse.json([
|
|
135
135
|
{
|
|
136
136
|
id: 'f8dd058f-9006-4174-8d49-e3086bc39c21',
|
|
@@ -199,7 +199,7 @@ Mock Service Worker is trusted by hundreds of thousands of engineers around the
|
|
|
199
199
|
<a href="https://www.github.com/" target="_blank">
|
|
200
200
|
<picture>
|
|
201
201
|
<source media="(prefers-color-scheme: dark)" srcset="media/sponsors/github-light.svg" />
|
|
202
|
-
<img src="media/sponsors/github.svg" alt="GitHub"
|
|
202
|
+
<img src="media/sponsors/github.svg" alt="GitHub" height="64" />
|
|
203
203
|
</picture>
|
|
204
204
|
</a>
|
|
205
205
|
</td>
|
|
@@ -218,12 +218,12 @@ Mock Service Worker is trusted by hundreds of thousands of engineers around the
|
|
|
218
218
|
<tr>
|
|
219
219
|
<td>
|
|
220
220
|
<a href="https://www.replay.io/" target="_blank">
|
|
221
|
-
<img src="media/sponsors/replay.svg" alt="Replay"
|
|
221
|
+
<img src="media/sponsors/replay.svg" alt="Replay" height="64" />
|
|
222
222
|
</a>
|
|
223
223
|
</td>
|
|
224
224
|
<td>
|
|
225
225
|
<a href="https://www.chromatic.com/" target="_blank">
|
|
226
|
-
<img src="media/sponsors/chromatic.svg" alt="Chromatic"
|
|
226
|
+
<img src="media/sponsors/chromatic.svg" alt="Chromatic" height="64" />
|
|
227
227
|
</a>
|
|
228
228
|
</td>
|
|
229
229
|
</tr>
|
|
@@ -241,7 +241,12 @@ Mock Service Worker is trusted by hundreds of thousands of engineers around the
|
|
|
241
241
|
<tr>
|
|
242
242
|
<td>
|
|
243
243
|
<a href="https://materialize.com/" target="_blank">
|
|
244
|
-
<img src="media/sponsors/materialize.svg" alt="Materialize"
|
|
244
|
+
<img src="media/sponsors/materialize.svg" alt="Materialize" height="64" />
|
|
245
|
+
</a>
|
|
246
|
+
</td>
|
|
247
|
+
<td>
|
|
248
|
+
<a href="https://trigger.dev/" target="_blank">
|
|
249
|
+
<img src="media/sponsors/trigger-dev.png" alt="Trigger.dev" height="64" />
|
|
245
250
|
</a>
|
|
246
251
|
</td>
|
|
247
252
|
</tr>
|
package/lib/browser/index.d.ts
CHANGED
|
@@ -68,11 +68,6 @@ interface SetupWorker {
|
|
|
68
68
|
* @see {@link https://mswjs.io/docs/api/setup-worker/list-handlers `worker.listHandlers()`}
|
|
69
69
|
*/
|
|
70
70
|
listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, any>>;
|
|
71
|
-
/**
|
|
72
|
-
* Lists all active request handlers.
|
|
73
|
-
* @see {@link https://mswjs.io/docs/api/setup-worker/print-handlers `worker.printHandlers()`}
|
|
74
|
-
*/
|
|
75
|
-
printHandlers: () => void;
|
|
76
71
|
events: LifeCycleEventEmitter<LifeCycleEventsMap>;
|
|
77
72
|
}
|
|
78
73
|
|
|
@@ -84,7 +79,6 @@ declare class SetupWorkerApi extends SetupApi<LifeCycleEventsMap> implements Set
|
|
|
84
79
|
constructor(...handlers: Array<RequestHandler>);
|
|
85
80
|
private createWorkerContext;
|
|
86
81
|
start(options?: StartOptions): StartReturnType;
|
|
87
|
-
printHandlers(): void;
|
|
88
82
|
stop(): void;
|
|
89
83
|
}
|
|
90
84
|
/**
|
package/lib/browser/index.js
CHANGED
|
@@ -276,7 +276,7 @@ var createRequestListener = (context, options) => {
|
|
|
276
276
|
responseStream ? [responseStream] : void 0
|
|
277
277
|
);
|
|
278
278
|
if (!options.quiet) {
|
|
279
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
279
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
280
280
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
281
281
|
});
|
|
282
282
|
}
|
|
@@ -363,25 +363,18 @@ function createResponseListener(context) {
|
|
|
363
363
|
return;
|
|
364
364
|
}
|
|
365
365
|
const response = responseJson.status === 0 ? Response.error() : new Response(responseJson.body, responseJson);
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
366
|
+
context.emitter.emit(
|
|
367
|
+
responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
|
|
368
|
+
{
|
|
369
369
|
response,
|
|
370
370
|
/**
|
|
371
371
|
* @todo @fixme In this context, we don't know anything about
|
|
372
372
|
* the request.
|
|
373
373
|
*/
|
|
374
|
-
null,
|
|
375
|
-
responseJson.requestId
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
context.emitter.emit(
|
|
379
|
-
"response:bypass",
|
|
380
|
-
response,
|
|
381
|
-
null,
|
|
382
|
-
responseJson.requestId
|
|
383
|
-
);
|
|
384
|
-
}
|
|
374
|
+
request: null,
|
|
375
|
+
requestId: responseJson.requestId
|
|
376
|
+
}
|
|
377
|
+
);
|
|
385
378
|
};
|
|
386
379
|
}
|
|
387
380
|
|
|
@@ -554,7 +547,7 @@ function createFallbackRequestListener(context, options) {
|
|
|
554
547
|
{
|
|
555
548
|
onMockedResponse(_, { handler, parsedRequest }) {
|
|
556
549
|
if (!options.quiet) {
|
|
557
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
550
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
558
551
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
559
552
|
});
|
|
560
553
|
}
|
|
@@ -570,9 +563,11 @@ function createFallbackRequestListener(context, options) {
|
|
|
570
563
|
({ response, isMockedResponse, request, requestId }) => {
|
|
571
564
|
context.emitter.emit(
|
|
572
565
|
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
566
|
+
{
|
|
567
|
+
response,
|
|
568
|
+
request,
|
|
569
|
+
requestId
|
|
570
|
+
}
|
|
576
571
|
);
|
|
577
572
|
}
|
|
578
573
|
);
|
|
@@ -722,19 +717,6 @@ var SetupWorkerApi = class extends import_SetupApi.SetupApi {
|
|
|
722
717
|
return yield this.startHandler(this.context.startOptions, options);
|
|
723
718
|
});
|
|
724
719
|
}
|
|
725
|
-
printHandlers() {
|
|
726
|
-
const handlers = this.listHandlers();
|
|
727
|
-
handlers.forEach((handler) => {
|
|
728
|
-
const { header, callFrame } = handler.info;
|
|
729
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
730
|
-
console.groupCollapsed(`${pragma} ${header}`);
|
|
731
|
-
if (callFrame) {
|
|
732
|
-
console.log(`Declaration: ${callFrame}`);
|
|
733
|
-
}
|
|
734
|
-
console.log("Handler:", handler);
|
|
735
|
-
console.groupEnd();
|
|
736
|
-
});
|
|
737
|
-
}
|
|
738
720
|
stop() {
|
|
739
721
|
super.dispose();
|
|
740
722
|
this.context.events.removeAllListeners();
|
package/lib/browser/index.mjs
CHANGED
|
@@ -252,7 +252,7 @@ var createRequestListener = (context, options) => {
|
|
|
252
252
|
responseStream ? [responseStream] : void 0
|
|
253
253
|
);
|
|
254
254
|
if (!options.quiet) {
|
|
255
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
255
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
256
256
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
257
257
|
});
|
|
258
258
|
}
|
|
@@ -339,25 +339,18 @@ function createResponseListener(context) {
|
|
|
339
339
|
return;
|
|
340
340
|
}
|
|
341
341
|
const response = responseJson.status === 0 ? Response.error() : new Response(responseJson.body, responseJson);
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
342
|
+
context.emitter.emit(
|
|
343
|
+
responseJson.isMockedResponse ? "response:mocked" : "response:bypass",
|
|
344
|
+
{
|
|
345
345
|
response,
|
|
346
346
|
/**
|
|
347
347
|
* @todo @fixme In this context, we don't know anything about
|
|
348
348
|
* the request.
|
|
349
349
|
*/
|
|
350
|
-
null,
|
|
351
|
-
responseJson.requestId
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
context.emitter.emit(
|
|
355
|
-
"response:bypass",
|
|
356
|
-
response,
|
|
357
|
-
null,
|
|
358
|
-
responseJson.requestId
|
|
359
|
-
);
|
|
360
|
-
}
|
|
350
|
+
request: null,
|
|
351
|
+
requestId: responseJson.requestId
|
|
352
|
+
}
|
|
353
|
+
);
|
|
361
354
|
};
|
|
362
355
|
}
|
|
363
356
|
|
|
@@ -532,7 +525,7 @@ function createFallbackRequestListener(context, options) {
|
|
|
532
525
|
{
|
|
533
526
|
onMockedResponse(_, { handler, parsedRequest }) {
|
|
534
527
|
if (!options.quiet) {
|
|
535
|
-
context.emitter.once("response:mocked", (response2) => {
|
|
528
|
+
context.emitter.once("response:mocked", ({ response: response2 }) => {
|
|
536
529
|
handler.log(requestCloneForLogs, response2, parsedRequest);
|
|
537
530
|
});
|
|
538
531
|
}
|
|
@@ -548,9 +541,11 @@ function createFallbackRequestListener(context, options) {
|
|
|
548
541
|
({ response, isMockedResponse, request, requestId }) => {
|
|
549
542
|
context.emitter.emit(
|
|
550
543
|
isMockedResponse ? "response:mocked" : "response:bypass",
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
544
|
+
{
|
|
545
|
+
response,
|
|
546
|
+
request,
|
|
547
|
+
requestId
|
|
548
|
+
}
|
|
554
549
|
);
|
|
555
550
|
}
|
|
556
551
|
);
|
|
@@ -700,19 +695,6 @@ var SetupWorkerApi = class extends SetupApi {
|
|
|
700
695
|
return yield this.startHandler(this.context.startOptions, options);
|
|
701
696
|
});
|
|
702
697
|
}
|
|
703
|
-
printHandlers() {
|
|
704
|
-
const handlers = this.listHandlers();
|
|
705
|
-
handlers.forEach((handler) => {
|
|
706
|
-
const { header, callFrame } = handler.info;
|
|
707
|
-
const pragma = handler.info.hasOwnProperty("operationType") ? "[graphql]" : "[rest]";
|
|
708
|
-
console.groupCollapsed(`${pragma} ${header}`);
|
|
709
|
-
if (callFrame) {
|
|
710
|
-
console.log(`Declaration: ${callFrame}`);
|
|
711
|
-
}
|
|
712
|
-
console.log("Handler:", handler);
|
|
713
|
-
console.groupEnd();
|
|
714
|
-
});
|
|
715
|
-
}
|
|
716
698
|
stop() {
|
|
717
699
|
super.dispose();
|
|
718
700
|
this.context.events.removeAllListeners();
|
package/lib/core/SetupApi.d.ts
CHANGED
|
@@ -21,7 +21,6 @@ declare abstract class SetupApi<EventsMap extends EventMap> extends Disposable {
|
|
|
21
21
|
resetHandlers(...nextHandlers: Array<RequestHandler>): void;
|
|
22
22
|
listHandlers(): ReadonlyArray<RequestHandler<RequestHandlerDefaultInfo, any, any>>;
|
|
23
23
|
private createLifeCycleEvents;
|
|
24
|
-
abstract printHandlers(): void;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
export { SetupApi };
|
|
@@ -101,7 +101,7 @@ class GraphQLHandler extends import_RequestHandler.RequestHandler {
|
|
|
101
101
|
const publicUrl = (0, import_getPublicUrlFromRequest.getPublicUrlFromRequest)(request);
|
|
102
102
|
import_devUtils.devUtils.warn(`Failed to intercept a GraphQL request at "${request.method} ${publicUrl}": anonymous GraphQL operations are not supported.
|
|
103
103
|
|
|
104
|
-
Consider naming this operation or using "graphql.operation()" request handler to intercept GraphQL requests regardless of their operation name/type. Read more: https://mswjs.io/docs/api/graphql/operation
|
|
104
|
+
Consider naming this operation or using "graphql.operation()" request handler to intercept GraphQL requests regardless of their operation name/type. Read more: https://mswjs.io/docs/api/graphql/operation`);
|
|
105
105
|
return false;
|
|
106
106
|
}
|
|
107
107
|
const hasMatchingUrl = (0, import_matchRequestUrl.matchRequestUrl)(new URL(request.url), this.endpoint);
|
|
@@ -82,7 +82,7 @@ class GraphQLHandler extends RequestHandler {
|
|
|
82
82
|
const publicUrl = getPublicUrlFromRequest(request);
|
|
83
83
|
devUtils.warn(`Failed to intercept a GraphQL request at "${request.method} ${publicUrl}": anonymous GraphQL operations are not supported.
|
|
84
84
|
|
|
85
|
-
Consider naming this operation or using "graphql.operation()" request handler to intercept GraphQL requests regardless of their operation name/type. Read more: https://mswjs.io/docs/api/graphql/operation
|
|
85
|
+
Consider naming this operation or using "graphql.operation()" request handler to intercept GraphQL requests regardless of their operation name/type. Read more: https://mswjs.io/docs/api/graphql/operation`);
|
|
86
86
|
return false;
|
|
87
87
|
}
|
|
88
88
|
const hasMatchingUrl = matchRequestUrl(new URL(request.url), this.endpoint);
|
|
@@ -2,12 +2,12 @@ import { g as RequestHandlerDefaultInfo, R as RequestHandler, a as ResponseResol
|
|
|
2
2
|
import { Path, Match, PathParams } from '../utils/matching/matchRequestUrl.js';
|
|
3
3
|
import '../typeUtils.js';
|
|
4
4
|
|
|
5
|
-
type
|
|
6
|
-
interface
|
|
7
|
-
method:
|
|
5
|
+
type HttpHandlerMethod = string | RegExp;
|
|
6
|
+
interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
|
|
7
|
+
method: HttpHandlerMethod;
|
|
8
8
|
path: Path;
|
|
9
9
|
}
|
|
10
|
-
declare enum
|
|
10
|
+
declare enum HttpMethods {
|
|
11
11
|
HEAD = "HEAD",
|
|
12
12
|
GET = "GET",
|
|
13
13
|
POST = "POST",
|
|
@@ -19,32 +19,32 @@ declare enum RESTMethods {
|
|
|
19
19
|
type RequestQuery = {
|
|
20
20
|
[queryName: string]: string;
|
|
21
21
|
};
|
|
22
|
-
type
|
|
22
|
+
type HttpRequestParsedResult = {
|
|
23
23
|
match: Match;
|
|
24
24
|
cookies: Record<string, string>;
|
|
25
25
|
};
|
|
26
|
-
type
|
|
26
|
+
type HttpRequestResolverExtras<Params extends PathParams> = {
|
|
27
27
|
params: Params;
|
|
28
28
|
cookies: Record<string, string | Array<string>>;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
|
-
* Request handler for
|
|
31
|
+
* Request handler for HTTP requests.
|
|
32
32
|
* Provides request matching based on method and URL.
|
|
33
33
|
*/
|
|
34
|
-
declare class
|
|
35
|
-
constructor(method:
|
|
34
|
+
declare class HttpHandler extends RequestHandler<HttpHandlerInfo, HttpRequestParsedResult, HttpRequestResolverExtras<any>> {
|
|
35
|
+
constructor(method: HttpHandlerMethod, path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<any>, any, any>, options?: RequestHandlerPublicOptions);
|
|
36
36
|
private checkRedundantQueryParameters;
|
|
37
37
|
parse(request: Request, resolutionContext?: ResponseResolutionContext): Promise<{
|
|
38
38
|
match: Match;
|
|
39
39
|
cookies: Record<string, string>;
|
|
40
40
|
}>;
|
|
41
|
-
predicate(request: Request, parsedResult:
|
|
41
|
+
predicate(request: Request, parsedResult: HttpRequestParsedResult): boolean;
|
|
42
42
|
private matchMethod;
|
|
43
|
-
protected extendInfo(_request: Request, parsedResult:
|
|
43
|
+
protected extendInfo(_request: Request, parsedResult: HttpRequestParsedResult): {
|
|
44
44
|
params: PathParams<string>;
|
|
45
45
|
cookies: Record<string, string>;
|
|
46
46
|
};
|
|
47
47
|
log(request: Request, response: Response): Promise<void>;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
export {
|
|
50
|
+
export { HttpHandler, HttpHandlerInfo, HttpMethods, HttpRequestParsedResult, HttpRequestResolverExtras, RequestQuery };
|
|
@@ -36,12 +36,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
36
36
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
|
-
var
|
|
40
|
-
__export(
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
var HttpHandler_exports = {};
|
|
40
|
+
__export(HttpHandler_exports, {
|
|
41
|
+
HttpHandler: () => HttpHandler,
|
|
42
|
+
HttpMethods: () => HttpMethods
|
|
43
43
|
});
|
|
44
|
-
module.exports = __toCommonJS(
|
|
44
|
+
module.exports = __toCommonJS(HttpHandler_exports);
|
|
45
45
|
var import_devUtils = require("../utils/internal/devUtils.js");
|
|
46
46
|
var import_isStringEqual = require("../utils/internal/isStringEqual.js");
|
|
47
47
|
var import_getStatusCodeColor = require("../utils/logging/getStatusCodeColor.js");
|
|
@@ -53,17 +53,17 @@ var import_getPublicUrlFromRequest = require("../utils/request/getPublicUrlFromR
|
|
|
53
53
|
var import_getRequestCookies = require("../utils/request/getRequestCookies.js");
|
|
54
54
|
var import_cleanUrl = require("../utils/url/cleanUrl.js");
|
|
55
55
|
var import_RequestHandler = require("./RequestHandler.js");
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return
|
|
65
|
-
})(
|
|
66
|
-
class
|
|
56
|
+
var HttpMethods = /* @__PURE__ */ ((HttpMethods2) => {
|
|
57
|
+
HttpMethods2["HEAD"] = "HEAD";
|
|
58
|
+
HttpMethods2["GET"] = "GET";
|
|
59
|
+
HttpMethods2["POST"] = "POST";
|
|
60
|
+
HttpMethods2["PUT"] = "PUT";
|
|
61
|
+
HttpMethods2["PATCH"] = "PATCH";
|
|
62
|
+
HttpMethods2["OPTIONS"] = "OPTIONS";
|
|
63
|
+
HttpMethods2["DELETE"] = "DELETE";
|
|
64
|
+
return HttpMethods2;
|
|
65
|
+
})(HttpMethods || {});
|
|
66
|
+
class HttpHandler extends import_RequestHandler.RequestHandler {
|
|
67
67
|
constructor(method, path, resolver, options) {
|
|
68
68
|
super({
|
|
69
69
|
info: {
|
|
@@ -33,17 +33,17 @@ import { cleanUrl, getSearchParams } from '../utils/url/cleanUrl.mjs';
|
|
|
33
33
|
import {
|
|
34
34
|
RequestHandler
|
|
35
35
|
} from './RequestHandler.mjs';
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return
|
|
45
|
-
})(
|
|
46
|
-
class
|
|
36
|
+
var HttpMethods = /* @__PURE__ */ ((HttpMethods2) => {
|
|
37
|
+
HttpMethods2["HEAD"] = "HEAD";
|
|
38
|
+
HttpMethods2["GET"] = "GET";
|
|
39
|
+
HttpMethods2["POST"] = "POST";
|
|
40
|
+
HttpMethods2["PUT"] = "PUT";
|
|
41
|
+
HttpMethods2["PATCH"] = "PATCH";
|
|
42
|
+
HttpMethods2["OPTIONS"] = "OPTIONS";
|
|
43
|
+
HttpMethods2["DELETE"] = "DELETE";
|
|
44
|
+
return HttpMethods2;
|
|
45
|
+
})(HttpMethods || {});
|
|
46
|
+
class HttpHandler extends RequestHandler {
|
|
47
47
|
constructor(method, path, resolver, options) {
|
|
48
48
|
super({
|
|
49
49
|
info: {
|
|
@@ -127,6 +127,6 @@ class RestHandler extends RequestHandler {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
export {
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
HttpHandler,
|
|
131
|
+
HttpMethods
|
|
132
132
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { D as DefaultBodyType, a as ResponseResolver, f as RequestHandlerPublicOptions } from './RequestHandler-e964183f.js';
|
|
2
|
-
import {
|
|
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
|
-
declare const
|
|
7
|
-
all: <Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
8
|
-
head: <Params_1 extends PathParams<keyof Params_1> = PathParams, RequestBodyType_1 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_1 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
9
|
-
get: <Params_2 extends PathParams<keyof Params_2> = PathParams, RequestBodyType_2 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_2 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
10
|
-
post: <Params_3 extends PathParams<keyof Params_3> = PathParams, RequestBodyType_3 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_3 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
11
|
-
put: <Params_4 extends PathParams<keyof Params_4> = PathParams, RequestBodyType_4 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_4 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
12
|
-
delete: <Params_5 extends PathParams<keyof Params_5> = PathParams, RequestBodyType_5 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_5 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
13
|
-
patch: <Params_6 extends PathParams<keyof Params_6> = PathParams, RequestBodyType_6 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_6 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
14
|
-
options: <Params_7 extends PathParams<keyof Params_7> = PathParams, RequestBodyType_7 extends DefaultBodyType = DefaultBodyType, ResponseBodyType_7 extends DefaultBodyType = undefined>(path: Path, resolver: ResponseResolver<
|
|
6
|
+
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
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?: RequestHandlerPublicOptions) => HttpHandler;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
export {
|
|
17
|
+
export { http };
|
|
@@ -16,24 +16,24 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var http_exports = {};
|
|
20
|
+
__export(http_exports, {
|
|
21
|
+
http: () => http
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
25
|
-
function
|
|
23
|
+
module.exports = __toCommonJS(http_exports);
|
|
24
|
+
var import_HttpHandler = require("./handlers/HttpHandler.js");
|
|
25
|
+
function createHttpHandler(method) {
|
|
26
26
|
return (path, resolver, options = {}) => {
|
|
27
|
-
return new
|
|
27
|
+
return new import_HttpHandler.HttpHandler(method, path, resolver, options);
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
const
|
|
31
|
-
all:
|
|
32
|
-
head:
|
|
33
|
-
get:
|
|
34
|
-
post:
|
|
35
|
-
put:
|
|
36
|
-
delete:
|
|
37
|
-
patch:
|
|
38
|
-
options:
|
|
30
|
+
const http = {
|
|
31
|
+
all: createHttpHandler(/.+/),
|
|
32
|
+
head: createHttpHandler(import_HttpHandler.HttpMethods.HEAD),
|
|
33
|
+
get: createHttpHandler(import_HttpHandler.HttpMethods.GET),
|
|
34
|
+
post: createHttpHandler(import_HttpHandler.HttpMethods.POST),
|
|
35
|
+
put: createHttpHandler(import_HttpHandler.HttpMethods.PUT),
|
|
36
|
+
delete: createHttpHandler(import_HttpHandler.HttpMethods.DELETE),
|
|
37
|
+
patch: createHttpHandler(import_HttpHandler.HttpMethods.PATCH),
|
|
38
|
+
options: createHttpHandler(import_HttpHandler.HttpMethods.OPTIONS)
|
|
39
39
|
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HttpMethods,
|
|
3
|
+
HttpHandler
|
|
4
|
+
} from './handlers/HttpHandler.mjs';
|
|
5
|
+
function createHttpHandler(method) {
|
|
6
|
+
return (path, resolver, options = {}) => {
|
|
7
|
+
return new HttpHandler(method, path, resolver, options);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
const http = {
|
|
11
|
+
all: createHttpHandler(/.+/),
|
|
12
|
+
head: createHttpHandler(HttpMethods.HEAD),
|
|
13
|
+
get: createHttpHandler(HttpMethods.GET),
|
|
14
|
+
post: createHttpHandler(HttpMethods.POST),
|
|
15
|
+
put: createHttpHandler(HttpMethods.PUT),
|
|
16
|
+
delete: createHttpHandler(HttpMethods.DELETE),
|
|
17
|
+
patch: createHttpHandler(HttpMethods.PATCH),
|
|
18
|
+
options: createHttpHandler(HttpMethods.OPTIONS)
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
http
|
|
22
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
2
|
+
var import_http = require("./http.js");
|
|
3
3
|
test("exports all REST API methods", () => {
|
|
4
|
-
expect(
|
|
5
|
-
expect(Object.keys(
|
|
4
|
+
expect(import_http.http).toBeDefined();
|
|
5
|
+
expect(Object.keys(import_http.http)).toEqual([
|
|
6
6
|
"all",
|
|
7
7
|
"head",
|
|
8
8
|
"get",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { http } from './http.mjs';
|
|
2
2
|
test("exports all REST API methods", () => {
|
|
3
|
-
expect(
|
|
4
|
-
expect(Object.keys(
|
|
3
|
+
expect(http).toBeDefined();
|
|
4
|
+
expect(Object.keys(http)).toEqual([
|
|
5
5
|
"all",
|
|
6
6
|
"head",
|
|
7
7
|
"get",
|
package/lib/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { SetupApi } from './SetupApi.js';
|
|
2
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-e964183f.js';
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
3
|
+
export { http } from './http.js';
|
|
4
|
+
export { HttpHandler, HttpMethods, HttpRequestParsedResult, RequestQuery } from './handlers/HttpHandler.js';
|
|
5
5
|
export { graphql } from './graphql.js';
|
|
6
6
|
export { G as GraphQLHandler, c as GraphQLJsonRequestBody, b as GraphQLRequestBody, a as GraphQLVariables, P as ParsedGraphQLRequest } from './GraphQLHandler-2e60cda6.js';
|
|
7
7
|
export { Match, Path, PathParams, matchRequestUrl } from './utils/matching/matchRequestUrl.js';
|
package/lib/core/index.js
CHANGED
|
@@ -20,24 +20,24 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var core_exports = {};
|
|
21
21
|
__export(core_exports, {
|
|
22
22
|
GraphQLHandler: () => import_GraphQLHandler.GraphQLHandler,
|
|
23
|
+
HttpHandler: () => import_HttpHandler.HttpHandler,
|
|
24
|
+
HttpMethods: () => import_HttpHandler.HttpMethods,
|
|
23
25
|
NetworkError: () => import_NetworkError.NetworkError,
|
|
24
|
-
RESTMethods: () => import_RestHandler.RESTMethods,
|
|
25
26
|
RequestHandler: () => import_RequestHandler.RequestHandler,
|
|
26
|
-
RestHandler: () => import_RestHandler.RestHandler,
|
|
27
27
|
SetupApi: () => import_SetupApi.SetupApi,
|
|
28
28
|
bypass: () => import_bypass.bypass,
|
|
29
29
|
cleanUrl: () => import_cleanUrl.cleanUrl,
|
|
30
30
|
graphql: () => import_graphql.graphql,
|
|
31
|
+
http: () => import_http.http,
|
|
31
32
|
matchRequestUrl: () => import_matchRequestUrl.matchRequestUrl,
|
|
32
|
-
passthrough: () => import_passthrough.passthrough
|
|
33
|
-
rest: () => import_rest.rest
|
|
33
|
+
passthrough: () => import_passthrough.passthrough
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(core_exports);
|
|
36
36
|
var import_checkGlobals = require("./utils/internal/checkGlobals.js");
|
|
37
37
|
var import_SetupApi = require("./SetupApi.js");
|
|
38
38
|
var import_RequestHandler = require("./handlers/RequestHandler.js");
|
|
39
|
-
var
|
|
40
|
-
var
|
|
39
|
+
var import_http = require("./http.js");
|
|
40
|
+
var import_HttpHandler = require("./handlers/HttpHandler.js");
|
|
41
41
|
var import_graphql = require("./graphql.js");
|
|
42
42
|
var import_GraphQLHandler = require("./handlers/GraphQLHandler.js");
|
|
43
43
|
var import_matchRequestUrl = require("./utils/matching/matchRequestUrl.js");
|