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
TypeScript
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";