UNPKG

raygun

Version:

Raygun package for Node.js, written in TypeScript

47 lines (46 loc) 1.32 kB
import type { IncomingMessage } from "http"; import { HTTPOptions, SendOptions } from "./types"; export type MessageAndPromise = { serializedMessage: string; promise: PromiseReference<IncomingMessage>; }; export type PreparedBatch = { payload: string; messageCount: number; promises: Array<PromiseReference<IncomingMessage>>; }; export type BatchState = { messages: MessageAndPromise[]; messageSizeInBytes: number; }; type PromiseReference<T> = { resolve: (message: T) => void; reject: (error: Error) => void; }; export declare const MAX_MESSAGES_IN_BATCH = 100; export declare const MAX_BATCH_SIZE_BYTES = 1638400; export declare class RaygunBatchTransport { private timerId; private httpOptions; private interval; private batchId; private batchState; constructor(options: { interval: number; httpOptions: HTTPOptions; }); /** * Enqueues send request to batch processor. * @param options - send options without callback * @returns Promise with response or error if rejected */ send(options: SendOptions): Promise<IncomingMessage>; /** * Stops batch transport and clears timerId */ stopProcessing(): void; private onIncomingMessage; private processBatch; private sendBatch; } export {};