@multiplayer-app/session-recorder-browser
Version:
Multiplayer Fullstack Session Recorder for Browser
48 lines • 1.87 kB
TypeScript
import { TracerBrowserConfig } from '../types';
import { type Span } from '@opentelemetry/api';
export interface HttpPayloadData {
requestBody?: any;
responseBody?: any;
requestHeaders?: Record<string, string>;
responseHeaders?: Record<string, string>;
}
export interface ProcessedHttpPayload {
requestBody?: string;
responseBody?: string;
requestHeaders?: string;
responseHeaders?: string;
}
/**
* Checks if the trace should be processed based on trace ID prefixes
*/
export declare function shouldProcessTrace(traceId: string): boolean;
/**
* Processes request and response body based on trace type and configuration
*/
export declare function processBody(payload: HttpPayloadData, config: TracerBrowserConfig, span: Span): {
requestBody?: string;
responseBody?: string;
};
/**
* Processes request and response headers based on configuration
*/
export declare function processHeaders(payload: HttpPayloadData, config: TracerBrowserConfig, span: Span): {
requestHeaders?: string;
responseHeaders?: string;
};
/**
* Processes HTTP payload (body and headers) and sets span attributes
*/
export declare function processHttpPayload(payload: HttpPayloadData, config: TracerBrowserConfig, span: Span): void;
/**
* Converts Headers object to plain object
*/
export declare function headersToObject(headers: Headers | Record<string, string> | HeadersInit | undefined): Record<string, string>;
/**
* Extracts response body as string from Response object
*/
export declare function extractResponseBody(response: Response): Promise<string | null>;
export declare const getExporterEndpoint: (exporterEndpoint: string) => string;
export declare const getElementInnerText: (element: HTMLElement) => string;
export declare const getElementTextContent: (element: HTMLElement) => string;
//# sourceMappingURL=helpers.d.ts.map