import { LogEntry, TContextBase, TContextShape } from "@debugr/core"; //#region src/types.d.ts declare module '@debugr/core' { interface EntryTypes { 'http.request': HttpRequestData; 'http.response': HttpResponseData; } } interface HttpHeaders { [header: string]: number | string | string[] | undefined; } interface HttpRequestData { method: string; uri: string; headers?: HttpHeaders; ip?: string; body?: string; bodyLength?: number; lengthMismatch?: boolean; } interface HttpResponseData { status: number; message?: string; headers?: HttpHeaders; body?: string; bodyLength?: number; lengthMismatch?: boolean; } interface HttpRequestLogEntry extends LogEntry { type: 'http.request'; data: HttpRequestData; } interface HttpResponseLogEntry extends LogEntry { type: 'http.response'; data: HttpResponseData; } type HeaderFilter = (headers: HttpHeaders) => HttpHeaders; type CaptureBodyOption = boolean | number | string | string[] | Record; type CaptureBodyChecker = (rawContentType?: number | string | string[], rawContentLength?: number | string | string[]) => boolean; //#endregion export { CaptureBodyChecker, CaptureBodyOption, HeaderFilter, HttpHeaders, HttpRequestData, HttpRequestLogEntry, HttpResponseData, HttpResponseLogEntry };