@nestjsvn/swagger-sse
Version:
OpenAPI documentation and interactive Swagger UI for NestJS Server-Sent Events endpoints
69 lines (68 loc) • 1.95 kB
JavaScript
"use strict";
/**
* Constants used throughout the library
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SSE_EVENT_FIELDS = exports.OPENAPI_CONSTANTS = exports.SSE_HEADERS = exports.SSE_DEFAULTS = exports.METADATA_KEYS = void 0;
/**
* Metadata keys for storing decorator information
*/
exports.METADATA_KEYS = {
/** Key for storing ApiSse decorator metadata */
API_SSE: 'api-sse',
/** Key for storing SSE endpoint configuration */
SSE_CONFIG: 'sse-config',
/** Key for storing event type mappings */
SSE_EVENTS: 'sse-events',
};
/**
* Default SSE configuration values
*/
exports.SSE_DEFAULTS = {
/** Default retry interval in milliseconds */
RETRY_INTERVAL: 3000,
/** Default connection timeout in milliseconds */
CONNECTION_TIMEOUT: 30000,
/** Default keep-alive interval in milliseconds */
KEEP_ALIVE_INTERVAL: 15000,
/** Default maximum number of retry attempts */
MAX_RETRIES: 5,
};
/**
* HTTP headers commonly used with SSE
*/
exports.SSE_HEADERS = {
/** Content-Type for Server-Sent Events */
CONTENT_TYPE: 'text/event-stream',
/** Cache control header */
CACHE_CONTROL: 'no-cache',
/** Connection header */
CONNECTION: 'keep-alive',
/** Access control headers for CORS */
ACCESS_CONTROL_ALLOW_ORIGIN: '*',
ACCESS_CONTROL_ALLOW_HEADERS: 'Cache-Control',
};
/**
* OpenAPI specification constants
*/
exports.OPENAPI_CONSTANTS = {
/** Media type for SSE in OpenAPI specs */
SSE_MEDIA_TYPE: 'text/event-stream',
/** Schema reference prefix */
SCHEMA_REF_PREFIX: '#/components/schemas/',
/** Extension key for SSE metadata */
SSE_EXTENSION: 'x-sse-events',
};
/**
* Event field names in SSE format
*/
exports.SSE_EVENT_FIELDS = {
/** Event type field */
EVENT: 'event',
/** Data field */
DATA: 'data',
/** ID field */
ID: 'id',
/** Retry field */
RETRY: 'retry',
};