UNPKG

@olakai/sdk

Version:

This document demonstrates how to use the Olakai SDK with all its features.

36 lines 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCommonMiddleware = createCommonMiddleware; const logging_1 = require("./logging"); const rateLimiter_1 = require("./rateLimiter"); const timeout_1 = require("./timeout"); const circuitBreaker_1 = require("./circuitBreaker"); /** * Create a common middleware stack * Stack details: * 1. Logging middleware * 2. Rate limiting middleware * 3. Validation middleware * 4. Circuit breaker middleware * See exports from ./middleware/index.ts for details on each middleware. * @param functionName - The name of the function to monitor. This is just for logging purposes. * @param options - The options for the middleware * @returns An array of middleware functions */ function createCommonMiddleware(functionName, options = {}) { const middlewares = []; if (options.enableLogging) { middlewares.push((0, logging_1.createLoggingMiddleware)({})); } if (options.enableRateLimit) { middlewares.push((0, rateLimiter_1.createRateLimitMiddleware)(options.enableRateLimit)); } if (options.enableValidation) { middlewares.push((0, timeout_1.createValidationMiddleware)(options.enableValidation)); } if (options.enableCircuitBreaker) { middlewares.push((0, circuitBreaker_1.createCircuitBreakerMiddleware)(options.enableCircuitBreaker)); } return middlewares; } //# sourceMappingURL=common.js.map