UNPKG

2.77 kBTypeScriptView Raw
1/// <reference types="node" />
2import { IncomingMessage, ServerResponse } from 'http';
3import { PreviewData } from 'next/types';
4import { NextApiRequest, NextApiResponse } from '../lib/utils';
5export declare type NextApiRequestCookies = {
6 [key: string]: string;
7};
8export declare type NextApiRequestQuery = {
9 [key: string]: string | string[];
10};
11export declare type __ApiPreviewProps = {
12 previewModeId: string;
13 previewModeEncryptionKey: string;
14 previewModeSigningKey: string;
15};
16export declare function apiResolver(req: IncomingMessage, res: ServerResponse, query: any, resolverModule: any, apiContext: __ApiPreviewProps, propagateError: boolean): Promise<void>;
17/**
18 * Parse incoming message like `json` or `urlencoded`
19 * @param req request object
20 */
21export declare function parseBody(req: NextApiRequest, limit: string | number): Promise<any>;
22/**
23 * Parse cookies from `req` header
24 * @param req request object
25 */
26export declare function getCookieParser(req: IncomingMessage): () => NextApiRequestCookies;
27/**
28 *
29 * @param res response object
30 * @param statusCode `HTTP` status code of response
31 */
32export declare function sendStatusCode(res: NextApiResponse, statusCode: number): NextApiResponse<any>;
33/**
34 *
35 * @param res response object
36 * @param [statusOrUrl] `HTTP` status code of redirect
37 * @param url URL of redirect
38 */
39export declare function redirect(res: NextApiResponse, statusOrUrl: string | number, url?: string): NextApiResponse<any>;
40/**
41 * Send `any` body to response
42 * @param req request object
43 * @param res response object
44 * @param body of response
45 */
46export declare function sendData(req: NextApiRequest, res: NextApiResponse, body: any): void;
47/**
48 * Send `JSON` object
49 * @param res response object
50 * @param jsonBody of data
51 */
52export declare function sendJson(res: NextApiResponse, jsonBody: any): void;
53export declare const SYMBOL_PREVIEW_DATA: unique symbol;
54export declare function tryGetPreviewData(req: IncomingMessage, res: ServerResponse, options: __ApiPreviewProps): PreviewData;
55/**
56 * Custom error class
57 */
58export declare class ApiError extends Error {
59 readonly statusCode: number;
60 constructor(statusCode: number, message: string);
61}
62/**
63 * Sends error in `response`
64 * @param res response object
65 * @param statusCode of response
66 * @param message of response
67 */
68export declare function sendError(res: NextApiResponse, statusCode: number, message: string): void;
69interface LazyProps {
70 req: NextApiRequest;
71}
72/**
73 * Execute getter function only if its needed
74 * @param LazyProps `req` and `params` for lazyProp
75 * @param prop name of property
76 * @param getter function to get data
77 */
78export declare function setLazyProp<T>({ req }: LazyProps, prop: string, getter: () => T): void;
79export {};