UNPKG

3.31 kBTypeScriptView Raw
1import type { Options as DevServerOptions } from './dev/next-dev-server';
2import type { Options as ServerOptions } from './next-server';
3import type { IncomingMessage, ServerResponse } from 'http';
4import type { Duplex } from 'stream';
5import type { NextUrlWithParsedQuery } from './request-meta';
6import './require-hook';
7import './node-polyfill-crypto';
8import type { default as NextNodeServer } from './next-server';
9import type { ServerFields } from './lib/router-utils/setup-dev-bundler';
10export type NextServerOptions = Omit<ServerOptions | DevServerOptions, 'conf'> & Partial<Pick<ServerOptions | DevServerOptions, 'conf'>>;
11export type RequestHandler = (req: IncomingMessage, res: ServerResponse, parsedUrl?: NextUrlWithParsedQuery | undefined) => Promise<void>;
12export type UpgradeHandler = (req: IncomingMessage, socket: Duplex, head: Buffer) => Promise<void>;
13declare const SYMBOL_LOAD_CONFIG: unique symbol;
14interface NextWrapperServer {
15 options: NextServerOptions;
16 hostname: string | undefined;
17 port: number | undefined;
18 getRequestHandler(): RequestHandler;
19 prepare(serverFields?: ServerFields): Promise<void>;
20 setAssetPrefix(assetPrefix: string): void;
21 close(): Promise<void>;
22 getUpgradeHandler(): UpgradeHandler;
23 logError(...args: Parameters<NextNodeServer['logError']>): void;
24 render(...args: Parameters<NextNodeServer['render']>): ReturnType<NextNodeServer['render']>;
25 renderToHTML(...args: Parameters<NextNodeServer['renderToHTML']>): ReturnType<NextNodeServer['renderToHTML']>;
26 renderError(...args: Parameters<NextNodeServer['renderError']>): ReturnType<NextNodeServer['renderError']>;
27 renderErrorToHTML(...args: Parameters<NextNodeServer['renderErrorToHTML']>): ReturnType<NextNodeServer['renderErrorToHTML']>;
28 render404(...args: Parameters<NextNodeServer['render404']>): ReturnType<NextNodeServer['render404']>;
29}
30/** The wrapper server used by `next start` */
31export declare class NextServer implements NextWrapperServer {
32 private serverPromise?;
33 private server?;
34 private reqHandler?;
35 private reqHandlerPromise?;
36 private preparedAssetPrefix?;
37 options: NextServerOptions;
38 constructor(options: NextServerOptions);
39 get hostname(): string | undefined;
40 get port(): number | undefined;
41 getRequestHandler(): RequestHandler;
42 getUpgradeHandler(): UpgradeHandler;
43 setAssetPrefix(assetPrefix: string): void;
44 logError(...args: Parameters<NextWrapperServer['logError']>): void;
45 render(...args: Parameters<NextWrapperServer['render']>): Promise<void>;
46 renderToHTML(...args: Parameters<NextWrapperServer['renderToHTML']>): Promise<string | null>;
47 renderError(...args: Parameters<NextWrapperServer['renderError']>): Promise<void>;
48 renderErrorToHTML(...args: Parameters<NextWrapperServer['renderErrorToHTML']>): Promise<string | null>;
49 render404(...args: Parameters<NextWrapperServer['render404']>): Promise<void>;
50 prepare(serverFields?: ServerFields): Promise<void>;
51 close(): Promise<void>;
52 private createServer;
53 private [SYMBOL_LOAD_CONFIG];
54 private getServer;
55 private getServerRequestHandler;
56}
57declare function createServer(options: NextServerOptions & {
58 turbo?: boolean;
59 turbopack?: boolean;
60}): NextWrapperServer;
61export default createServer;