UNPKG

938 BTypeScriptView Raw
1import { RawServerBase, RawServerDefault, RawReplyDefaultExpression, RawRequestDefaultExpression } from './utils'
2import * as http from 'http'
3import * as https from 'https'
4import * as http2 from 'http2'
5
6export interface FastifyServerFactory<
7 RawServer extends RawServerBase = RawServerDefault
8> {
9 (handler: FastifyServerFactoryHandler<RawServer>, opts: object): RawServer;
10}
11
12export type FastifyServerFactoryHandler<
13 RawServer extends RawServerBase = RawServerDefault,
14 RawRequest extends RawRequestDefaultExpression<RawServer> = RawRequestDefaultExpression<RawServer>,
15 RawReply extends RawReplyDefaultExpression<RawServer> = RawReplyDefaultExpression<RawServer>
16> =
17 RawServer extends http.Server | https.Server ?
18 (request: http.IncomingMessage & RawRequest, response: http.ServerResponse & RawReply) => void :
19 (request: http2.Http2ServerRequest & RawRequest, response: http2.Http2ServerResponse & RawReply) => void