UNPKG

next

Version:

The React Framework

108 lines (107 loc) 4.74 kB
/// <reference types="node" /> import type { WebNextRequest, WebNextResponse } from './base-http/web'; import type { RenderOpts } from './render'; import type RenderResult from './render-result'; import type { NextParsedUrlQuery, NextUrlWithParsedQuery } from './request-meta'; import type { Params } from '../shared/lib/router/utils/route-matcher'; import type { PayloadOptions } from './send-payload'; import type { LoadComponentsReturnType } from './load-components'; import type { BaseNextRequest, BaseNextResponse } from './base-http'; import type { UrlWithParsedQuery } from 'url'; import BaseServer, { Options } from './base-server'; import WebResponseCache from './response-cache/web'; import { IncrementalCache } from './lib/incremental-cache'; import { PrerenderManifest } from '../build'; interface WebServerOptions extends Options { webServerConfig: { page: string; normalizedPage: string; pagesType: 'app' | 'pages' | 'root'; loadComponent: (pathname: string) => Promise<LoadComponentsReturnType | null>; extendRenderOpts: Partial<BaseServer['renderOpts']> & Pick<BaseServer['renderOpts'], 'buildId'>; renderToHTML: typeof import('./app-render/app-render').renderToHTMLOrFlight | undefined; incrementalCacheHandler?: any; prerenderManifest: PrerenderManifest | undefined; }; } export default class NextWebServer extends BaseServer<WebServerOptions> { constructor(options: WebServerOptions); protected handleCompression(): void; protected getIncrementalCache({ requestHeaders, }: { requestHeaders: IncrementalCache['requestHeaders']; }): IncrementalCache; protected getResponseCache(): WebResponseCache; protected getCustomRoutes(): { headers: never[]; rewrites: { fallback: never[]; afterFiles: never[]; beforeFiles: never[]; }; redirects: never[]; }; protected run(req: BaseNextRequest, res: BaseNextResponse, parsedUrl: UrlWithParsedQuery): Promise<void>; protected hasPage(page: string): Promise<boolean>; protected getPublicDir(): string; protected getBuildId(): string; protected loadEnvConfig(): void; protected getHasAppDir(): boolean; protected getHasStaticDir(): boolean; protected getFallback(): Promise<string>; protected getFontManifest(): undefined; protected getPagesManifest(): { [x: string]: string; }; protected getAppPathsManifest(): { [x: string]: string; }; protected getFilesystemPaths(): Set<string>; protected attachRequestMeta(req: WebNextRequest, parsedUrl: NextUrlWithParsedQuery): void; protected getPrerenderManifest(): PrerenderManifest | { version: any; routes: {}; dynamicRoutes: {}; notFoundRoutes: never[]; preview: any; }; protected getNextFontManifest(): import("../build/webpack/plugins/next-font-manifest-plugin").NextFontManifest | undefined; protected normalizeNextData(req: BaseNextRequest, res: BaseNextResponse, parsedUrl: NextUrlWithParsedQuery): Promise<{ finished: boolean; }>; protected handleCatchallRenderRequest(req: BaseNextRequest, res: BaseNextResponse, parsedUrl: NextUrlWithParsedQuery): Promise<{ finished: boolean; }>; protected handleApiRequest(): Promise<boolean>; protected renderHTML(req: WebNextRequest, res: WebNextResponse, pathname: string, query: NextParsedUrlQuery, renderOpts: RenderOpts): Promise<RenderResult>; protected sendRenderResult(_req: WebNextRequest, res: WebNextResponse, options: { result: RenderResult; type: 'html' | 'json'; generateEtags: boolean; poweredByHeader: boolean; options?: PayloadOptions | undefined; }): Promise<void>; protected runApi(): Promise<boolean>; protected findPageComponents({ pathname, query, params, }: { pathname: string; query: NextParsedUrlQuery; params: Params | null; isAppPath: boolean; }): Promise<{ query: { [x: string]: any; __nextNotFoundSrcPage?: string | undefined; __nextDefaultLocale?: string | undefined; __nextFallback?: "true" | undefined; __nextLocale?: string | undefined; __nextInferredLocaleFromDefault?: "1" | undefined; __nextSsgPath?: string | undefined; _nextBubbleNoFallback?: "1" | undefined; __nextDataReq?: "1" | undefined; __nextCustomErrorRender?: "1" | undefined; _rsc?: string | undefined; amp?: "1" | undefined; }; components: LoadComponentsReturnType; } | null>; } export {};