UNPKG

rjweb-server

Version:

Easy and Robust Way to create a Web Server with Many Easy-to-use Features in NodeJS

131 lines (130 loc) 3.94 kB
import method from "../enums/method"; import status from "../enums/status"; export declare const Method: Readonly<{ CONNECT: "CONNECT"; TRACE: "TRACE"; OPTIONS: "OPTIONS"; DELETE: "DELETE"; PATCH: "PATCH"; HEAD: "HEAD"; POST: "POST"; PUT: "PUT"; GET: "GET"; }>; export type Method = keyof typeof method; export declare const Status: Readonly<{ CONTINUE: 100; SWITCHING_PROTOCOLS: 101; PROCESSING: 102; EARLY_HINTS: 103; OK: 200; CREATED: 201; ACCEPTED: 202; NON_AUTHORATIVE_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; /** * The Number of milliseconds until the time Window (+ penalty) is over * @since 8.6.0 */ VARIANT_ALSO_NEGOTIATES: 506; INSUFFICIENT_STORAGE: 507; LOOP_DETECTED: 508; BANDWIDTH_LIMIT_EXCEEDED: 509; NOT_EXTENDED: 510; NETWORK_AUTHENTICATION_REQUIRED: 511; }>; export type Status = keyof typeof status; export declare const ReverseProxyIps: Readonly<{ LOCAL: (import("@rjweb/utils/lib/typings/network").Subnet<4 | 6> | import("@rjweb/utils/lib/typings/network").IPAddress<4 | 6>)[]; CLOUDFLARE: import("@rjweb/utils/lib/typings/network").Subnet<4 | 6>[]; SPARKEDHOST: import("@rjweb/utils/lib/typings/network").IPAddress<4 | 6>[]; }>; export type ServerStatus = 'listening' | 'stopped'; export type CompressionAlgorithm = 'gzip' | 'brotli' | 'deflate'; export type ArrayOrNot<T> = T | T[]; export type JSONValue = string | number | boolean | null | undefined | { toString(): string; } | { [key: string]: JSONValue; } | JSONValue[]; export type JSONParsed = Record<string, JSONValue>; export type URLEncodedParsed = Record<string, string>; export type ParsedBody = JSONParsed | URLEncodedParsed | string; export type RatelimitInfos = { /** * The Number of hits the client made in the current time window * @since 8.6.0 */ hits: number; /** * The Maximum number of hits the client is allowed to make in the specified time window * @since 8.6.0 */ maxHits: number; /** * Whether the client has recieved the penalty * @since 8.6.0 */ hasPenalty: boolean; /** * The Number of milliseconds penalty the client recieves * @since 8.6.0 */ penalty: number; /** * The Number of milliseconds a time window is long * @since 8.6.0 */ timeWindow: number; /** * The Date when the time Window (+ penalty) is over * @since 8.6.0 */ endsAt: Date; /** * The Number of milliseconds until the time Window (+ penalty) is over * @since 8.6.0 */ endsIn: number; }; export { type Content, ParseStream } from "../functions/parseContent";