@energica-city/shared-amplify-utils
Version:
Shared utilities for AWS Amplify projects
22 lines • 4.62 kB
JavaScript
/**
* WebSocket Middleware Module
*
* This module provides a comprehensive set of middleware components for AWS API Gateway WebSocket APIs.
* It includes error handling, request logging, validation, middleware chain utilities, and authorization
* specifically designed for WebSocket connections.
*
* @module WebSocketMiddleware
*/
// WebSocket error handling
export { createWebSocketErrorHandler } from './WebSocketErrorHandler';
// WebSocket request logging
export { createWebSocketRequestLogger } from './WebSocketRequestLogger';
// WebSocket request validation
export { createWebSocketRequestValidator, getValidatedMessage, } from './WebSocketRequestValidator';
// WebSocket model initialization
export { createWebSocketModelInitializer } from './WebSocketModelInitializer';
// WebSocket middleware chain and utilities
export { createWebSocketChain, wrapWebSocketHandler, createAllowPolicy, createDenyPolicy, getModelsFromInput, getModelFromInput, } from './WebSocketMiddlewareChain';
// WebSocket utilities
export { buildWebSocketContext, extractEventInfo, parseJsonBody, setupStructuredLogging, isMessageEvent, getErrorMessage, getErrorStack, buildErrorContext, } from './utils';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9taWRkbGV3YXJlL3dlYnNvY2tldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILDJCQUEyQjtBQUMzQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEUsK0JBQStCO0FBQy9CLE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsbUJBQW1CLEdBQ3BCLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlFLDJDQUEyQztBQUMzQyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixpQkFBaUIsR0FDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxzQkFBc0I7QUFDdEIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZUFBZSxFQUNmLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFdlYlNvY2tldCBNaWRkbGV3YXJlIE1vZHVsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgbWlkZGxld2FyZSBjb21wb25lbnRzIGZvciBBV1MgQVBJIEdhdGV3YXkgV2ViU29ja2V0IEFQSXMuXG4gKiBJdCBpbmNsdWRlcyBlcnJvciBoYW5kbGluZywgcmVxdWVzdCBsb2dnaW5nLCB2YWxpZGF0aW9uLCBtaWRkbGV3YXJlIGNoYWluIHV0aWxpdGllcywgYW5kIGF1dGhvcml6YXRpb25cbiAqIHNwZWNpZmljYWxseSBkZXNpZ25lZCBmb3IgV2ViU29ja2V0IGNvbm5lY3Rpb25zLlxuICpcbiAqIEBtb2R1bGUgV2ViU29ja2V0TWlkZGxld2FyZVxuICovXG5cbi8vIFdlYlNvY2tldCBlcnJvciBoYW5kbGluZ1xuZXhwb3J0IHsgY3JlYXRlV2ViU29ja2V0RXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9XZWJTb2NrZXRFcnJvckhhbmRsZXInO1xuXG4vLyBXZWJTb2NrZXQgcmVxdWVzdCBsb2dnaW5nXG5leHBvcnQgeyBjcmVhdGVXZWJTb2NrZXRSZXF1ZXN0TG9nZ2VyIH0gZnJvbSAnLi9XZWJTb2NrZXRSZXF1ZXN0TG9nZ2VyJztcblxuLy8gV2ViU29ja2V0IHJlcXVlc3QgdmFsaWRhdGlvblxuZXhwb3J0IHtcbiAgY3JlYXRlV2ViU29ja2V0UmVxdWVzdFZhbGlkYXRvcixcbiAgZ2V0VmFsaWRhdGVkTWVzc2FnZSxcbn0gZnJvbSAnLi9XZWJTb2NrZXRSZXF1ZXN0VmFsaWRhdG9yJztcblxuLy8gV2ViU29ja2V0IG1vZGVsIGluaXRpYWxpemF0aW9uXG5leHBvcnQgeyBjcmVhdGVXZWJTb2NrZXRNb2RlbEluaXRpYWxpemVyIH0gZnJvbSAnLi9XZWJTb2NrZXRNb2RlbEluaXRpYWxpemVyJztcblxuLy8gV2ViU29ja2V0IG1pZGRsZXdhcmUgY2hhaW4gYW5kIHV0aWxpdGllc1xuZXhwb3J0IHtcbiAgY3JlYXRlV2ViU29ja2V0Q2hhaW4sXG4gIHdyYXBXZWJTb2NrZXRIYW5kbGVyLFxuICBjcmVhdGVBbGxvd1BvbGljeSxcbiAgY3JlYXRlRGVueVBvbGljeSxcbiAgZ2V0TW9kZWxzRnJvbUlucHV0LFxuICBnZXRNb2RlbEZyb21JbnB1dCxcbn0gZnJvbSAnLi9XZWJTb2NrZXRNaWRkbGV3YXJlQ2hhaW4nO1xuXG4vLyBXZWJTb2NrZXQgdXRpbGl0aWVzXG5leHBvcnQge1xuICBidWlsZFdlYlNvY2tldENvbnRleHQsXG4gIGV4dHJhY3RFdmVudEluZm8sXG4gIHBhcnNlSnNvbkJvZHksXG4gIHNldHVwU3RydWN0dXJlZExvZ2dpbmcsXG4gIGlzTWVzc2FnZUV2ZW50LFxuICBnZXRFcnJvck1lc3NhZ2UsXG4gIGdldEVycm9yU3RhY2ssXG4gIGJ1aWxkRXJyb3JDb250ZXh0LFxufSBmcm9tICcuL3V0aWxzJztcblxuLy8gQWxsIFdlYlNvY2tldCB0eXBlc1xuZXhwb3J0IHR5cGUge1xuICAvLyBDb3JlIHR5cGVzXG4gIFdlYlNvY2tldEV2ZW50LFxuICBXZWJTb2NrZXRSZXNwb25zZSxcbiAgV2ViU29ja2V0TW9kZWxJbnN0YW5jZSxcbiAgV2ViU29ja2V0QmFzZUlucHV0LFxuICBXZWJTb2NrZXRJbnB1dFdpdGhNb2RlbHMsXG4gIFdlYlNvY2tldEhhbmRsZXJSZXR1cm4sXG5cbiAgLy8gSUFNIFBvbGljeSB0eXBlc1xuICBJQU1Qb2xpY3lEb2N1bWVudCxcbiAgSUFNUG9saWN5U3RhdGVtZW50LFxuICBBdXRob3JpemVyUmVzcG9uc2UsXG5cbiAgLy8gTWlkZGxld2FyZSB0eXBlc1xuICBXZWJTb2NrZXRNaWRkbGV3YXJlQ2hhaW4sXG4gIFdlYlNvY2tldE1pZGRsZXdhcmUsXG5cbiAgLy8gQ29uZmlndXJhdGlvbiB0eXBlc1xuICBXZWJTb2NrZXRNb2RlbEluaXRpYWxpemVyQ29uZmlnLFxuICBXZWJTb2NrZXRSZXF1ZXN0TG9nZ2VyQ29uZmlnLFxuICBXZWJTb2NrZXRFcnJvckhhbmRsZXJDb25maWcsXG4gIFdlYlNvY2tldFJlcXVlc3RWYWxpZGF0aW9uQ29uZmlnLFxuICBWYWxpZGF0aW9uRXJyb3JEZXRhaWwsXG59IGZyb20gJy4vdHlwZXMnO1xuIl19