UNPKG

h3-fast-compression

Version:

Adds compression to h3 request (brotli, gzip, deflate)

64 lines (59 loc) 2.97 kB
import { H3Event } from 'h3'; interface RenderResponse { body: string | unknown; statusCode: number; statusMessage: string; headers: Record<string, string>; } /** * Compresses the response with [zlib.gzip]{@link https://www.w3schools.com/nodejs/ref_zlib.asp} * @param { H3Event } event - A H3 event object. * @param { RenderResponse } response - A response object with body parameter. * @returns { Promise<void> } */ declare function useGZipCompression(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with [zlib.deflate]{@link https://www.w3schools.com/nodejs/ref_zlib.asp} * @param { H3Event } event - A H3 event object. * @param { RenderResponse } response - A response object with body parameter. * @returns { Promise<void> } */ declare function useDeflateCompression(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with [zlib.brotliCompress]{@link https://www.w3schools.com/nodejs/ref_zlib.asp} * @param { H3Event } event - A H3 event object. * @param { RenderResponse } response - A response object with body parameter. * @returns { Promise<void> } */ declare function useBrotliCompression(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with [Zlib]{@link https://www.w3schools.com/nodejs/ref_zlib.asp} * by 'Accept-Encoding' header. Best is used first. * @param { H3Event } event - A H3 event object. * @param { RenderResponse } response - A response object with body parameter. * @returns { Promise<void> } */ declare function useCompression(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with * [CompressionStream(gzip)]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream} * @param event - A H3 event object. * @param response - A response object with body parameter. */ declare function useGZipCompressionStream(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with * [CompressionStream(deflate)]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream} * @param event - A H3 event object. * @param response - A response object with body parameter. */ declare function useDeflateCompressionStream(event: H3Event, response: Partial<RenderResponse>): Promise<void>; /** * Compresses the response with * [CompressionStream]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream} * by 'Accept-Encoding' header. Best is used first. * @param event - A H3 event object. * @param response - A response object with body parameter. */ declare function useCompressionStream(event: H3Event, response: Partial<RenderResponse>): Promise<void>; export { useBrotliCompression, useCompression, useCompressionStream, useDeflateCompression, useDeflateCompressionStream, useGZipCompression, useGZipCompressionStream };