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' /** * 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