UNPKG

1.48 kBTypeScriptView Raw
1import * as http from 'http'
2import * as http2 from 'http2'
3import * as https from 'https'
4
5/**
6 * Standard HTTP method strings
7 */
8export type HTTPMethods = 'DELETE' | 'GET' | 'HEAD' | 'PATCH' | 'POST' | 'PUT' | 'OPTIONS'
9
10/**
11 * A union type of the Node.js server types from the http, https, and http2 modules.
12 */
13export type RawServerBase = http.Server | https.Server | http2.Http2Server | http2.Http2SecureServer
14
15/**
16 * The default server type
17 */
18export type RawServerDefault = http.Server
19
20/**
21 * The default request type based on the server type. Utilizes generic constraining.
22 */
23export type RawRequestDefaultExpression<
24 RawServer extends RawServerBase = RawServerDefault
25> = RawServer extends http.Server | https.Server ? http.IncomingMessage
26 : RawServer extends http2.Http2Server | http2.Http2SecureServer ? http2.Http2ServerRequest
27 : never
28
29/**
30 * The default reply type based on the server type. Utilizes generic constraining.
31 */
32export type RawReplyDefaultExpression<
33 RawServer extends RawServerBase = RawServerDefault
34> = RawServer extends http.Server | https.Server ? http.ServerResponse
35 : RawServer extends http2.Http2Server | http2.Http2SecureServer ? http2.Http2ServerResponse
36 : never
37
38export type RequestBodyDefault = unknown
39export type RequestQuerystringDefault = unknown
40export type RequestParamsDefault = unknown
41export type RequestHeadersDefault = unknown
42
43export type ContextConfigDefault = unknown
44export type ReplyDefault = unknown