UNPKG

@smooai/utils

Version:

A collection of shared utilities and tools used across SmooAI projects. This package provides common functionality to standardize and simplify development across all SmooAI repositories.

95 lines (94 loc) 4.41 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_chunk = require("../chunk-CoPdw6nB.cjs"); const require_validation_standardSchema = require("../validation/standardSchema.cjs"); const require_api_ApiError = require("./ApiError.cjs"); const require_error_errorHandler = require("../error/errorHandler.cjs"); let zod = require("zod"); let http_status_codes = require("http-status-codes"); let _smooai_logger_AwsServerLogger = require("@smooai/logger/AwsServerLogger"); _smooai_logger_AwsServerLogger = require_chunk.__toESM(_smooai_logger_AwsServerLogger); //#region src/api/apiHandler.ts const logger = new _smooai_logger_AwsServerLogger.default(); async function lambdaApiHandler(event, context, handler) { try { logger.addLambdaContext(event, context); return await require_error_errorHandler.errorHandler(async (event, context) => { const response = await handler(event, context); return { ...response, body: response.body ? typeof response.body === "string" ? response.body : JSON.stringify(response.body) : void 0 }; }, event, context); } catch (error) { if (error instanceof require_api_ApiError.ApiError) { logger.error(error, `An API error occurred: Status: ${error.status} (${error.statusText}); Message: ${error.message}`); return { body: JSON.stringify({ error: { message: error.message, statusText: error.statusText } }), statusCode: error.status, headers: { "Content-type": "application/json" } }; } else if (error instanceof require_validation_standardSchema.HumanReadableSchemaError) { logger.error(error, `A schema validation error occurred: ${error.message}`); return { body: JSON.stringify({ error: { message: error.message, statusText: (0, http_status_codes.getReasonPhrase)(http_status_codes.StatusCodes.BAD_REQUEST) } }), statusCode: http_status_codes.StatusCodes.BAD_REQUEST, headers: { "Content-type": "application/json" } }; } else if (error instanceof zod.ZodError) { const prettyError = zod.z.prettifyError(error); logger.error(error, `A validation error occurred: ${prettyError}`); return { body: JSON.stringify({ error: { message: prettyError, statusText: (0, http_status_codes.getReasonPhrase)(http_status_codes.StatusCodes.BAD_REQUEST) } }), statusCode: http_status_codes.StatusCodes.BAD_REQUEST, headers: { "Content-type": "application/json" } }; } else if (error instanceof Error) { logger.error(error, `An unexpected error occurred: ${error.message}`); return { body: JSON.stringify({ error: { message: error.message, statusText: (0, http_status_codes.getReasonPhrase)(http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR) } }), statusCode: http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR, headers: { "Content-type": "application/json" } }; } else { logger.error(error, `An unexpected error occurred: ${error}`); return { body: JSON.stringify({ error: { message: "An unexpected error occurred.", statusCode: http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR, statusText: (0, http_status_codes.getReasonPhrase)(http_status_codes.StatusCodes.INTERNAL_SERVER_ERROR), headers: { "Content-type": "application/json" } } }) }; } } } async function eventBridgeHandler(event, context, handler) { try { logger.addLambdaContext(void 0, context); return await require_error_errorHandler.errorHandler(async (event, context) => { await handler(event, context); }, event, context); } catch (error) { if (error instanceof require_api_ApiError.ApiError) logger.error(error, `An API error occurred: Status: ${error.status} (${error.statusText}); Message: ${error.message}`); else if (error instanceof require_validation_standardSchema.HumanReadableSchemaError) logger.error(error, `A schema validation error occurred: ${error.message}`); else if (error instanceof zod.ZodError) { const prettyError = zod.z.prettifyError(error); logger.error(error, `A validation error occurred: ${prettyError}`); } else if (error instanceof Error) logger.error(error, `An unexpected error occurred: ${error.message}`); else logger.error(error, `An unexpected error occurred: ${error}`); } } //#endregion exports.eventBridgeHandler = eventBridgeHandler; exports.lambdaApiHandler = lambdaApiHandler; //# sourceMappingURL=apiHandler.cjs.map