@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.
120 lines (119 loc) • 3.64 kB
TypeScript
/**
* HTTP Protocol Constants
*/
/**
* HTTP methods
*/
export declare const HTTP_METHODS: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS", "CONNECT", "TRACE"];
export type THttpMethod = typeof HTTP_METHODS[number];
/**
* HTTP version strings
*/
export declare const HTTP_VERSIONS: readonly ["HTTP/1.0", "HTTP/1.1", "HTTP/2", "HTTP/3"];
export type THttpVersion = typeof HTTP_VERSIONS[number];
/**
* HTTP status codes
*/
export declare enum HttpStatus {
CONTINUE = 100,
SWITCHING_PROTOCOLS = 101,
PROCESSING = 102,
EARLY_HINTS = 103,
OK = 200,
CREATED = 201,
ACCEPTED = 202,
NON_AUTHORITATIVE_INFORMATION = 203,
NO_CONTENT = 204,
RESET_CONTENT = 205,
PARTIAL_CONTENT = 206,
MULTI_STATUS = 207,
ALREADY_REPORTED = 208,
IM_USED = 226,
MULTIPLE_CHOICES = 300,
MOVED_PERMANENTLY = 301,
FOUND = 302,
SEE_OTHER = 303,
NOT_MODIFIED = 304,
USE_PROXY = 305,
TEMPORARY_REDIRECT = 307,
PERMANENT_REDIRECT = 308,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
PAYMENT_REQUIRED = 402,
FORBIDDEN = 403,
NOT_FOUND = 404,
METHOD_NOT_ALLOWED = 405,
NOT_ACCEPTABLE = 406,
PROXY_AUTHENTICATION_REQUIRED = 407,
REQUEST_TIMEOUT = 408,
CONFLICT = 409,
GONE = 410,
LENGTH_REQUIRED = 411,
PRECONDITION_FAILED = 412,
PAYLOAD_TOO_LARGE = 413,
URI_TOO_LONG = 414,
UNSUPPORTED_MEDIA_TYPE = 415,
RANGE_NOT_SATISFIABLE = 416,
EXPECTATION_FAILED = 417,
IM_A_TEAPOT = 418,
MISDIRECTED_REQUEST = 421,
UNPROCESSABLE_ENTITY = 422,
LOCKED = 423,
FAILED_DEPENDENCY = 424,
TOO_EARLY = 425,
UPGRADE_REQUIRED = 426,
PRECONDITION_REQUIRED = 428,
TOO_MANY_REQUESTS = 429,
REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
UNAVAILABLE_FOR_LEGAL_REASONS = 451,
INTERNAL_SERVER_ERROR = 500,
NOT_IMPLEMENTED = 501,
BAD_GATEWAY = 502,
SERVICE_UNAVAILABLE = 503,
GATEWAY_TIMEOUT = 504,
HTTP_VERSION_NOT_SUPPORTED = 505,
VARIANT_ALSO_NEGOTIATES = 506,
INSUFFICIENT_STORAGE = 507,
LOOP_DETECTED = 508,
NOT_EXTENDED = 510,
NETWORK_AUTHENTICATION_REQUIRED = 511
}
/**
* HTTP status text mapping
*/
export declare const HTTP_STATUS_TEXT: Record<HttpStatus, string>;
/**
* Common HTTP headers
*/
export declare const HTTP_HEADERS: {
readonly HOST: "host";
readonly USER_AGENT: "user-agent";
readonly ACCEPT: "accept";
readonly ACCEPT_LANGUAGE: "accept-language";
readonly ACCEPT_ENCODING: "accept-encoding";
readonly AUTHORIZATION: "authorization";
readonly CACHE_CONTROL: "cache-control";
readonly CONNECTION: "connection";
readonly CONTENT_TYPE: "content-type";
readonly CONTENT_LENGTH: "content-length";
readonly COOKIE: "cookie";
readonly SET_COOKIE: "set-cookie";
readonly LOCATION: "location";
readonly SERVER: "server";
readonly DATE: "date";
readonly EXPIRES: "expires";
readonly LAST_MODIFIED: "last-modified";
readonly ETAG: "etag";
readonly ACCESS_CONTROL_ALLOW_ORIGIN: "access-control-allow-origin";
readonly ACCESS_CONTROL_ALLOW_METHODS: "access-control-allow-methods";
readonly ACCESS_CONTROL_ALLOW_HEADERS: "access-control-allow-headers";
readonly STRICT_TRANSPORT_SECURITY: "strict-transport-security";
readonly X_CONTENT_TYPE_OPTIONS: "x-content-type-options";
readonly X_FRAME_OPTIONS: "x-frame-options";
readonly X_XSS_PROTECTION: "x-xss-protection";
readonly CONTENT_SECURITY_POLICY: "content-security-policy";
};
/**
* Get HTTP status text
*/
export declare function getStatusText(status: HttpStatus): string;