UNPKG

gurted

Version:

A lightweight Node.js implementation of the gurt:// protocol

79 lines (78 loc) 3.37 kB
// src/protocol.ts export const GURT_VERSION = "1.0.0"; export const DEFAULT_PORT = 4878; export const PROTOCOL_PREFIX = "GURT/"; export const HEADER_SEPARATOR = "\r\n"; export const BODY_SEPARATOR = "\r\n\r\n"; export const DEFAULT_HANDSHAKE_TIMEOUT = 5000; export const DEFAULT_REQUEST_TIMEOUT = 30000; export const DEFAULT_CONNECTION_TIMEOUT = 10000; export const MAX_MESSAGE_SIZE = 10 * 1024 * 1024; export const MAX_POOL_SIZE = 10; export const POOL_IDLE_TIMEOUT = 300000; export const GURT_ALPN = Buffer.from("GURT/1.0"); export const TLS_VERSION = "TLS/1.3"; // Status codes enum export var GurtStatusCode; (function (GurtStatusCode) { GurtStatusCode[GurtStatusCode["Ok"] = 200] = "Ok"; GurtStatusCode[GurtStatusCode["Created"] = 201] = "Created"; GurtStatusCode[GurtStatusCode["Accepted"] = 202] = "Accepted"; GurtStatusCode[GurtStatusCode["NoContent"] = 204] = "NoContent"; GurtStatusCode[GurtStatusCode["SwitchingProtocols"] = 101] = "SwitchingProtocols"; GurtStatusCode[GurtStatusCode["BadRequest"] = 400] = "BadRequest"; GurtStatusCode[GurtStatusCode["Unauthorized"] = 401] = "Unauthorized"; GurtStatusCode[GurtStatusCode["Forbidden"] = 403] = "Forbidden"; GurtStatusCode[GurtStatusCode["NotFound"] = 404] = "NotFound"; GurtStatusCode[GurtStatusCode["MethodNotAllowed"] = 405] = "MethodNotAllowed"; GurtStatusCode[GurtStatusCode["Timeout"] = 408] = "Timeout"; GurtStatusCode[GurtStatusCode["TooLarge"] = 413] = "TooLarge"; GurtStatusCode[GurtStatusCode["UnsupportedMediaType"] = 415] = "UnsupportedMediaType"; GurtStatusCode[GurtStatusCode["TooManyRequests"] = 429] = "TooManyRequests"; GurtStatusCode[GurtStatusCode["InternalServerError"] = 500] = "InternalServerError"; GurtStatusCode[GurtStatusCode["NotImplemented"] = 501] = "NotImplemented"; GurtStatusCode[GurtStatusCode["BadGateway"] = 502] = "BadGateway"; GurtStatusCode[GurtStatusCode["ServiceUnavailable"] = 503] = "ServiceUnavailable"; GurtStatusCode[GurtStatusCode["GatewayTimeout"] = 504] = "GatewayTimeout"; })(GurtStatusCode || (GurtStatusCode = {})); // Status Codes export var GurtStatus; (function (GurtStatus) { function getMessage(code) { const messages = { 200: "OK", 201: "CREATED", 202: "ACCEPTED", 204: "NO_CONTENT", 101: "SWITCHING_PROTOCOLS", 400: "BAD_REQUEST", 401: "UNAUTHORIZED", 403: "FORBIDDEN", 404: "NOT_FOUND", 405: "METHOD_NOT_ALLOWED", 408: "TIMEOUT", 413: "TOO_LARGE", 415: "UNSUPPORTED_MEDIA_TYPE", 429: "TOO_MANY_REQUESTS", 500: "INTERNAL_SERVER_ERROR", 501: "NOT_IMPLEMENTED", 502: "BAD_GATEWAY", 503: "SERVICE_UNAVAILABLE", 504: "GATEWAY_TIMEOUT", }; return messages[code] || "UNKNOWN"; } GurtStatus.getMessage = getMessage; function isSuccess(code) { return code >= 200 && code < 300; } GurtStatus.isSuccess = isSuccess; function isClientError(code) { return code >= 400 && code < 500; } GurtStatus.isClientError = isClientError; function isServerError(code) { return code >= 500; } GurtStatus.isServerError = isServerError; })(GurtStatus || (GurtStatus = {}));