UNPKG

@middy/http-event-normalizer

Version:

HTTP event normalizer middleware for the middy framework

44 lines (34 loc) 1.25 kB
// Copyright 2017 - 2026 will Farrell, Luciano Mammino, and Middy contributors. // SPDX-License-Identifier: MIT import { resolveHttpEventVersion, validateOptions } from "@middy/util"; const name = "http-event-normalizer"; const pkg = `@middy/${name}`; const optionSchema = { type: "object", properties: {}, additionalProperties: false, }; export const httpEventNormalizerValidateOptions = (options) => validateOptions(pkg, optionSchema, options); const httpEventNormalizerMiddleware = () => { const httpEventNormalizerMiddlewareBefore = (request) => { const { event } = request; const version = resolveHttpEventVersion(event); // VPC Lattice is an http event, however uses a different notation // - query_string_parameters // - is_base64_encoded if (version === "1.0") { event.multiValueQueryStringParameters ??= {}; } else if (version === "vpc") { event.queryStringParameters = event.query_string_parameters; event.isBase64Encoded = event.is_base64_encoded; } // event.headers ??= {} // Will always have at least one header event.pathParameters ??= {}; event.queryStringParameters ??= {}; }; return { before: httpEventNormalizerMiddlewareBefore, }; }; export default httpEventNormalizerMiddleware;