fastify
Version:
Fast and low overhead web framework, for Node.js
46 lines (38 loc) • 1.58 kB
TypeScript
import * as http from 'http'
import * as http2 from 'http2'
import * as https from 'https'
/**
* Standard HTTP method strings
*/
export type HTTPMethods = 'DELETE' | 'GET' | 'HEAD' | 'PATCH' | 'POST' | 'PUT' | 'OPTIONS' |
'PROPFIND' | 'PROPPATCH' | 'MKCOL' | 'COPY' | 'MOVE' | 'LOCK' | 'UNLOCK' | 'TRACE' | 'SEARCH'
/**
* A union type of the Node.js server types from the http, https, and http2 modules.
*/
export type RawServerBase = http.Server | https.Server | http2.Http2Server | http2.Http2SecureServer
/**
* The default server type
*/
export type RawServerDefault = http.Server
/**
* The default request type based on the server type. Utilizes generic constraining.
*/
export type RawRequestDefaultExpression<
RawServer extends RawServerBase = RawServerDefault,
> = RawServer extends http.Server | https.Server ? http.IncomingMessage
: RawServer extends http2.Http2Server | http2.Http2SecureServer ? http2.Http2ServerRequest
: never
/**
* The default reply type based on the server type. Utilizes generic constraining.
*/
export type RawReplyDefaultExpression<
RawServer extends RawServerBase = RawServerDefault
> = RawServer extends http.Server | https.Server ? http.ServerResponse
: RawServer extends http2.Http2Server | http2.Http2SecureServer ? http2.Http2ServerResponse
: never
export type RequestBodyDefault = unknown
export type RequestQuerystringDefault = unknown
export type RequestParamsDefault = unknown
export type RequestHeadersDefault = unknown
export type ContextConfigDefault = unknown
export type ReplyDefault = unknown