UNPKG

2.12 kBTypeScriptView Raw
1import { g as RequestHandlerDefaultInfo, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions, h as ResponseResolutionContext } from '../HttpResponse-5Sn2vNaJ.js';
2import { Path, Match, PathParams } from '../utils/matching/matchRequestUrl.js';
3import '../utils/internal/isIterable.js';
4import '../typeUtils.js';
5
6type HttpHandlerMethod = string | RegExp;
7interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
8 method: HttpHandlerMethod;
9 path: Path;
10}
11declare enum HttpMethods {
12 HEAD = "HEAD",
13 GET = "GET",
14 POST = "POST",
15 PUT = "PUT",
16 PATCH = "PATCH",
17 OPTIONS = "OPTIONS",
18 DELETE = "DELETE"
19}
20type RequestQuery = {
21 [queryName: string]: string;
22};
23type HttpRequestParsedResult = {
24 match: Match;
25 cookies: Record<string, string>;
26};
27type HttpRequestResolverExtras<Params extends PathParams> = {
28 params: Params;
29 cookies: Record<string, string>;
30};
31/**
32 * Request handler for HTTP requests.
33 * Provides request matching based on method and URL.
34 */
35declare class HttpHandler extends RequestHandler<HttpHandlerInfo, HttpRequestParsedResult, HttpRequestResolverExtras<any>> {
36 constructor(method: HttpHandlerMethod, path: Path, resolver: ResponseResolver<HttpRequestResolverExtras<any>, any, any>, options?: RequestHandlerOptions);
37 private checkRedundantQueryParameters;
38 parse(args: {
39 request: Request;
40 resolutionContext?: ResponseResolutionContext;
41 }): Promise<{
42 match: Match;
43 cookies: Record<string, string>;
44 }>;
45 predicate(args: {
46 request: Request;
47 parsedResult: HttpRequestParsedResult;
48 }): boolean;
49 private matchMethod;
50 protected extendResolverArgs(args: {
51 request: Request;
52 parsedResult: HttpRequestParsedResult;
53 }): {
54 params: PathParams<string>;
55 cookies: Record<string, string>;
56 };
57 log(args: {
58 request: Request;
59 response: Response;
60 }): Promise<void>;
61}
62
63export { HttpHandler, type HttpHandlerInfo, HttpMethods, type HttpRequestParsedResult, type HttpRequestResolverExtras, type RequestQuery };