UNPKG

@push.rocks/smartproxy

Version:

A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.

62 lines (61 loc) 1.68 kB
/** * Buffer manipulation utilities for protocol detection */ /** * BufferAccumulator class for handling fragmented data */ export declare class BufferAccumulator { private chunks; private totalLength; /** * Append data to the accumulator */ append(data: Buffer): void; /** * Get the accumulated buffer */ getBuffer(): Buffer; /** * Get current buffer length */ length(): number; /** * Clear all accumulated data */ clear(): void; /** * Check if accumulator has minimum bytes */ hasMinimumBytes(minBytes: number): boolean; } /** * Read a big-endian 16-bit integer from buffer */ export declare function readUInt16BE(buffer: Buffer, offset: number): number; /** * Read a big-endian 24-bit integer from buffer */ export declare function readUInt24BE(buffer: Buffer, offset: number): number; /** * Find a byte sequence in a buffer */ export declare function findSequence(buffer: Buffer, sequence: Buffer, startOffset?: number): number; /** * Extract a line from buffer (up to CRLF or LF) */ export declare function extractLine(buffer: Buffer, startOffset?: number): { line: string; nextOffset: number; } | null; /** * Check if buffer starts with a string (case-insensitive) */ export declare function startsWithString(buffer: Buffer, str: string, offset?: number): boolean; /** * Safe buffer slice that doesn't throw on out-of-bounds */ export declare function safeSlice(buffer: Buffer, start: number, end?: number): Buffer; /** * Check if buffer contains printable ASCII */ export declare function isPrintableAscii(buffer: Buffer, length?: number): boolean;