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.

78 lines (67 loc) 2.08 kB
/** * Parser utilities for protocol detection * Now delegates to protocol modules for actual parsing */ import type { THttpMethod, TTlsVersion } from '../models/detection-types.js'; import { HttpParser, HTTP_METHODS, HTTP_VERSIONS } from '../../protocols/http/index.js'; import { tlsVersionToString as protocolTlsVersionToString } from '../../protocols/tls/index.js'; // Re-export constants for backward compatibility export { HTTP_METHODS, HTTP_VERSIONS }; /** * Parse HTTP request line */ export function parseHttpRequestLine(line: string): { method: THttpMethod; path: string; version: string; } | null { // Delegate to protocol parser const result = HttpParser.parseRequestLine(line); return result ? { method: result.method as THttpMethod, path: result.path, version: result.version } : null; } /** * Parse HTTP header line */ export function parseHttpHeader(line: string): { name: string; value: string } | null { // Delegate to protocol parser return HttpParser.parseHeaderLine(line); } /** * Parse HTTP headers from lines */ export function parseHttpHeaders(lines: string[]): Record<string, string> { // Delegate to protocol parser return HttpParser.parseHeaders(lines); } /** * Convert TLS version bytes to version string */ export function tlsVersionToString(major: number, minor: number): TTlsVersion | null { // Delegate to protocol parser return protocolTlsVersionToString(major, minor) as TTlsVersion; } /** * Extract domain from Host header value */ export function extractDomainFromHost(hostHeader: string): string { // Delegate to protocol parser return HttpParser.extractDomainFromHost(hostHeader); } /** * Validate domain name */ export function isValidDomain(domain: string): boolean { // Delegate to protocol parser return HttpParser.isValidDomain(domain); } /** * Check if string is a valid HTTP method */ export function isHttpMethod(str: string): str is THttpMethod { // Delegate to protocol parser return HttpParser.isHttpMethod(str) && (str as THttpMethod) !== undefined; }