1 | import { g as RequestHandlerDefaultInfo, R as RequestHandler, a as ResponseResolver, c as RequestHandlerOptions, h as ResponseResolutionContext } from '../HttpResponse-5Sn2vNaJ.js';
|
2 | import { Path, Match, PathParams } from '../utils/matching/matchRequestUrl.js';
|
3 | import '../utils/internal/isIterable.js';
|
4 | import '../typeUtils.js';
|
5 |
|
6 | type HttpHandlerMethod = string | RegExp;
|
7 | interface HttpHandlerInfo extends RequestHandlerDefaultInfo {
|
8 | method: HttpHandlerMethod;
|
9 | path: Path;
|
10 | }
|
11 | declare enum HttpMethods {
|
12 | HEAD = "HEAD",
|
13 | GET = "GET",
|
14 | POST = "POST",
|
15 | PUT = "PUT",
|
16 | PATCH = "PATCH",
|
17 | OPTIONS = "OPTIONS",
|
18 | DELETE = "DELETE"
|
19 | }
|
20 | type RequestQuery = {
|
21 | [queryName: string]: string;
|
22 | };
|
23 | type HttpRequestParsedResult = {
|
24 | match: Match;
|
25 | cookies: Record<string, string>;
|
26 | };
|
27 | type HttpRequestResolverExtras<Params extends PathParams> = {
|
28 | params: Params;
|
29 | cookies: Record<string, string>;
|
30 | };
|
31 |
|
32 |
|
33 |
|
34 |
|
35 | declare 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 |
|
63 | export { HttpHandler, type HttpHandlerInfo, HttpMethods, type HttpRequestParsedResult, type HttpRequestResolverExtras, type RequestQuery };
|