UNPKG

1.42 kBTypeScriptView Raw
1import { FastifyLoggerInstance } from './logger'
2import { RawServerBase, RawServerDefault, RawRequestDefaultExpression, RequestBodyDefault, RequestQuerystringDefault, RequestParamsDefault, RequestHeadersDefault } from './utils'
3import { RouteGenericInterface } from './route'
4
5export interface RequestGenericInterface {
6 Body?: RequestBodyDefault;
7 Querystring?: RequestQuerystringDefault;
8 Params?: RequestParamsDefault;
9 Headers?: RequestHeadersDefault;
10}
11
12/**
13 * FastifyRequest is an instance of the standard http or http2 request objects.
14 * It defaults to http.IncomingMessage, and it also extends the relative request object.
15 */
16export interface FastifyRequest<
17 RouteGeneric extends RouteGenericInterface = RouteGenericInterface,
18 RawServer extends RawServerBase = RawServerDefault,
19 RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
20> {
21 id: any;
22 params: RouteGeneric['Params'];
23 raw: RawRequest;
24 query: RouteGeneric['Querystring'];
25 headers: RawRequest['headers'] & RouteGeneric['Headers']; // this enables the developer to extend the existing http(s|2) headers list
26 log: FastifyLoggerInstance;
27 body: RouteGeneric['Body'];
28 ip: string;
29 ips?: string[];
30 hostname: string;
31 url: string;
32 method: string;
33
34 // `connection` is a deprecated alias for `socket` and doesn't exist in `Http2ServerRequest`
35 connection: RawRequest['socket'];
36}