msw
Version:
72 lines • 2.65 kB
TypeScript
import { a as RequestHandler, c as RequestHandlerOptions, g as ResponseResolutionContext, l as ResponseResolver, o as RequestHandlerDefaultInfo } from "./request-handler.js";
import { n as Path, r as PathParams, t as Match } from "./match-request-url.js";
//#region src/http/http-handler.d.ts
type HttpHandlerMethod = string | RegExp;
interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
method: HttpHandlerMethod;
path: HttpRequestPredicate<PathParams>;
}
declare enum HttpMethods {
HEAD = "HEAD",
GET = "GET",
POST = "POST",
PUT = "PUT",
PATCH = "PATCH",
OPTIONS = "OPTIONS",
DELETE = "DELETE"
}
type RequestQuery = {
[queryName: string]: string;
};
type HttpRequestParsedResult = {
match: Match;
cookies: Record<string, string>;
};
type HttpRequestResolverExtras<Params extends PathParams> = {
params: Params;
cookies: Record<string, string>;
};
type HttpCustomPredicate<Params extends PathParams> = (args: {
request: Request;
cookies: Record<string, string>;
}) => HttpCustomPredicateResult<Params> | Promise<HttpCustomPredicateResult<Params>>;
type HttpCustomPredicateResult<Params extends PathParams> = boolean | {
matches: boolean;
params: Params;
};
type HttpRequestPredicate<Params extends PathParams> = Path | HttpCustomPredicate<Params>;
/**
* Request handler for HTTP requests.
* Provides request matching based on method and URL.
*/
declare class HttpHandler extends RequestHandler<HttpHandlerInfo, HttpRequestParsedResult, HttpRequestResolverExtras<any>> {
constructor(method: HttpHandlerMethod, predicate: HttpRequestPredicate<PathParams>, resolver: ResponseResolver<HttpRequestResolverExtras<any>, any, any>, options?: RequestHandlerOptions);
private checkRedundantQueryParameters;
parse(args: {
request: Request;
resolutionContext?: ResponseResolutionContext;
}): Promise<{
match: Match;
cookies: Record<string, string>;
}>;
predicate(args: {
request: Request;
parsedResult: HttpRequestParsedResult;
resolutionContext?: ResponseResolutionContext;
}): Promise<boolean>;
private matchMethod;
protected extendResolverArgs(args: {
request: Request;
parsedResult: HttpRequestParsedResult;
}): {
params: PathParams<string>;
cookies: Record<string, string>;
};
log(args: {
request: Request;
response: Response;
}): Promise<void>;
}
//#endregion
export { HttpMethods as a, HttpRequestResolverExtras as c, HttpHandlerMethod as i, RequestQuery as l, HttpHandler as n, HttpRequestParsedResult as o, HttpHandlerInfo as r, HttpRequestPredicate as s, HttpCustomPredicate as t };
//# sourceMappingURL=http-handler.d.ts.map