UNPKG

@types/hapi__subtext

Version:
49 lines (41 loc) 1.37 kB
/// <reference types="node" /> import { IncomingMessage } from "http"; import stream = require("stream"); import { BrotliOptions, ZlibOptions } from "zlib"; export interface MultipartOptions { output: "data" | "stream" | "file"; } export interface DecompressionOptions { gzip?: ZlibOptions; deflate?: ZlibOptions; br?: BrotliOptions; compress?: BrotliOptions; } export interface ContentDecoders { gzip?: (options: ZlibOptions | null) => stream.Transform; deflate?: (options: ZlibOptions | null) => stream.Transform; br?: (options: BrotliOptions | null) => stream.Transform; compress?: (options: BrotliOptions | null) => stream.Transform; } export interface Options { parse: boolean; output: "data" | "stream" | "file"; maxBytes?: number; override?: string; defaultContentType?: string; allow?: string[]; timeout?: number; querystring?: (str: string) => Partial<Record<string, string | string[]>>; uploads?: string; multipart?: boolean | MultipartOptions; decoders?: ContentDecoders; compression?: DecompressionOptions; } export interface Result { /** * Will be `null` if no payload was present on request */ payload: unknown; mime: string; } export function parse(req: IncomingMessage, tap: null | NodeJS.WritableStream, options: Options): Promise<Result>;