64 lines
2.9 KiB
TypeScript
64 lines
2.9 KiB
TypeScript
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 };
|