Sha256: 05f5a37f996171f2315886a463f7861a10e9ed2de13cb19a5c9ec01048beb84a
Contents?: true
Size: 1.98 KB
Versions: 26
Compression:
Stored size: 1.98 KB
Contents
import { DefaultBodyType, RequestHandlerOptions, ResponseResolver, } from './handlers/RequestHandler' import { HttpMethods, HttpHandler, HttpRequestResolverExtras, } from './handlers/HttpHandler' import type { Path, PathParams } from './utils/matching/matchRequestUrl' export type HttpRequestHandler = < Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, // Response body type MUST be undefined by default. // This is how we can distinguish between a handler that // returns plain "Response" and the one returning "HttpResponse" // to enforce a stricter response body type. ResponseBodyType extends DefaultBodyType = undefined, RequestPath extends Path = Path, >( path: RequestPath, resolver: HttpResponseResolver<Params, RequestBodyType, ResponseBodyType>, options?: RequestHandlerOptions, ) => HttpHandler export type HttpResponseResolver< Params extends PathParams<keyof Params> = PathParams, RequestBodyType extends DefaultBodyType = DefaultBodyType, ResponseBodyType extends DefaultBodyType = DefaultBodyType, > = ResponseResolver< HttpRequestResolverExtras<Params>, RequestBodyType, ResponseBodyType > function createHttpHandler<Method extends HttpMethods | RegExp>( method: Method, ): HttpRequestHandler { return (path, resolver, options = {}) => { return new HttpHandler(method, path, resolver, options) } } /** * A namespace to intercept and mock HTTP requests. * * @example * http.get('/user', resolver) * http.post('/post/:id', resolver) * * @see {@link https://mswjs.io/docs/api/http `http` API reference} */ export const http = { all: createHttpHandler(/.+/), head: createHttpHandler(HttpMethods.HEAD), get: createHttpHandler(HttpMethods.GET), post: createHttpHandler(HttpMethods.POST), put: createHttpHandler(HttpMethods.PUT), delete: createHttpHandler(HttpMethods.DELETE), patch: createHttpHandler(HttpMethods.PATCH), options: createHttpHandler(HttpMethods.OPTIONS), }
Version data entries
26 entries across 26 versions & 1 rubygems