60 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
			Executable File
		
	
	
	
	
import type { Rewrite } from '../lib/load-custom-routes';
 | 
						|
import type { RouteMatchFn } from '../shared/lib/router/utils/route-matcher';
 | 
						|
import type { NextConfig } from './config';
 | 
						|
import type { BaseNextRequest } from './base-http';
 | 
						|
import type { ParsedUrlQuery } from 'querystring';
 | 
						|
import type { UrlWithParsedQuery } from 'url';
 | 
						|
import { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex';
 | 
						|
import type { IncomingHttpHeaders, IncomingMessage } from 'http';
 | 
						|
import type { DeepReadonly } from '../shared/lib/deep-readonly';
 | 
						|
export declare function normalizeCdnUrl(req: BaseNextRequest | IncomingMessage, paramKeys: string[]): string | undefined;
 | 
						|
export declare function interpolateDynamicPath(pathname: string, params: ParsedUrlQuery, defaultRouteRegex?: ReturnType<typeof getNamedRouteRegex> | undefined): string;
 | 
						|
export declare function normalizeDynamicRouteParams(query: ParsedUrlQuery, defaultRouteRegex: ReturnType<typeof getNamedRouteRegex>, defaultRouteMatches: ParsedUrlQuery, ignoreMissingOptional: boolean): {
 | 
						|
    params: ParsedUrlQuery;
 | 
						|
    hasValidParams: boolean;
 | 
						|
};
 | 
						|
export declare function getServerUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive, }: {
 | 
						|
    page: string;
 | 
						|
    i18n?: NextConfig['i18n'];
 | 
						|
    basePath: string;
 | 
						|
    rewrites: DeepReadonly<{
 | 
						|
        fallback?: ReadonlyArray<Rewrite>;
 | 
						|
        afterFiles?: ReadonlyArray<Rewrite>;
 | 
						|
        beforeFiles?: ReadonlyArray<Rewrite>;
 | 
						|
    }>;
 | 
						|
    pageIsDynamic: boolean;
 | 
						|
    trailingSlash?: boolean;
 | 
						|
    caseSensitive: boolean;
 | 
						|
}): {
 | 
						|
    handleRewrites: (req: BaseNextRequest | IncomingMessage, parsedUrl: UrlWithParsedQuery) => Record<string, string>;
 | 
						|
    defaultRouteRegex: {
 | 
						|
        namedRegex: string;
 | 
						|
        routeKeys: {
 | 
						|
            [named: string]: string;
 | 
						|
        };
 | 
						|
        groups: {
 | 
						|
            [groupName: string]: import("../shared/lib/router/utils/route-regex").Group;
 | 
						|
        };
 | 
						|
        re: RegExp;
 | 
						|
    } | undefined;
 | 
						|
    dynamicRouteMatcher: RouteMatchFn | undefined;
 | 
						|
    defaultRouteMatches: ParsedUrlQuery | undefined;
 | 
						|
    normalizeQueryParams: (query: Record<string, string | string[] | undefined>, routeParamKeys: Set<string>) => void;
 | 
						|
    getParamsFromRouteMatches: (routeMatchesHeader: string) => import("./request/params").Params | null;
 | 
						|
    /**
 | 
						|
     * Normalize dynamic route params.
 | 
						|
     *
 | 
						|
     * @param query - The query params to normalize.
 | 
						|
     * @param ignoreMissingOptional - Whether to ignore missing optional params.
 | 
						|
     * @returns The normalized params and whether they are valid.
 | 
						|
     */
 | 
						|
    normalizeDynamicRouteParams: (query: ParsedUrlQuery, ignoreMissingOptional: boolean) => {
 | 
						|
        params: ParsedUrlQuery;
 | 
						|
        hasValidParams: boolean;
 | 
						|
    };
 | 
						|
    normalizeCdnUrl: (req: BaseNextRequest | IncomingMessage, paramKeys: string[]) => string | undefined;
 | 
						|
    interpolateDynamicPath: (pathname: string, params: Record<string, undefined | string | string[]>) => string;
 | 
						|
    filterInternalQuery: (query: ParsedUrlQuery, paramKeys: string[]) => void;
 | 
						|
};
 | 
						|
export declare function getPreviouslyRevalidatedTags(headers: IncomingHttpHeaders, previewModeId: string | undefined): string[];
 |