UNPKG

@fly/edge

Version:
39 lines 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addResponseHeaders = exports.responseHeaders = void 0; /** * @module Middleware */ const builder_1 = require("./builder"); /** * Middleware to set headers on responses * @param fetch * @param options */ exports.responseHeaders = builder_1.responseModifier(addResponseHeaders); /** * Sets provided headers on a response object * @private * @param resp * @param options * @hidden */ async function addResponseHeaders(resp, headers) { if (headers) { if ("headers" in headers && typeof headers.headers === "object") { //@ts-ignore headers = headers.headers; } for (const [k, v] of Object.entries(headers)) { if (v === false || v === "") { resp.headers.delete(k); } else if (v !== true) { // true implies pass through resp.headers.set(k, v.toString()); } } } return resp; } exports.addResponseHeaders = addResponseHeaders; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UtaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taWRkbGV3YXJlL3Jlc3BvbnNlLWhlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCx1Q0FBNkM7QUFTN0M7Ozs7R0FJRztBQUNVLFFBQUEsZUFBZSxHQUFHLDBCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUE7QUFFbkU7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLElBQWMsRUFBRSxPQUErQjtJQUN0RixJQUFJLE9BQU8sRUFBRTtRQUNYLElBQUcsU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFDO1lBQzdELFlBQVk7WUFDWixPQUFPLEdBQUksT0FBTyxDQUFDLE9BQWtDLENBQUM7U0FDdkQ7UUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDdkI7aUJBQU0sSUFBUyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsNEJBQTRCO2dCQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7YUFDbEM7U0FDRjtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBZkQsZ0RBZUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgTWlkZGxld2FyZVxuICovXG5pbXBvcnQgeyByZXNwb25zZU1vZGlmaWVyIH0gZnJvbSBcIi4vYnVpbGRlclwiO1xuXG4vKipcbiAqIEhlYWRlciBuYW1lL3ZhbHVlIHBhaXJzIHRvIHNldCBvbiBhIHJlc3BvbnNlLiBUaGUgYm9vbGVhbiBgZmFsc2VgIHJlbW92ZXMgdGhlIGhlYWRlciBlbnRpcmVseS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnNPcHRpb25zIHtcbiAgW25hbWU6IHN0cmluZ106IHN0cmluZyB8IGZhbHNlXG59XG5cbi8qKlxuICogTWlkZGxld2FyZSB0byBzZXQgaGVhZGVycyBvbiByZXNwb25zZXNcbiAqIEBwYXJhbSBmZXRjaCBcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCByZXNwb25zZUhlYWRlcnMgPSByZXNwb25zZU1vZGlmaWVyKGFkZFJlc3BvbnNlSGVhZGVycylcblxuLyoqXG4gKiBTZXRzIHByb3ZpZGVkIGhlYWRlcnMgb24gYSByZXNwb25zZSBvYmplY3RcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gcmVzcCBcbiAqIEBwYXJhbSBvcHRpb25zIFxuICogQGhpZGRlblxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkUmVzcG9uc2VIZWFkZXJzKHJlc3A6IFJlc3BvbnNlLCBoZWFkZXJzOiBSZXNwb25zZUhlYWRlcnNPcHRpb25zKXtcbiAgaWYgKGhlYWRlcnMpIHtcbiAgICBpZihcImhlYWRlcnNcIiBpbiBoZWFkZXJzICYmIHR5cGVvZiBoZWFkZXJzLmhlYWRlcnMgPT09IFwib2JqZWN0XCIpe1xuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICBoZWFkZXJzID0gKGhlYWRlcnMuaGVhZGVycyBhcyBSZXNwb25zZUhlYWRlcnNPcHRpb25zKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycykpIHtcbiAgICAgIGlmICh2ID09PSBmYWxzZSB8fCB2ID09PSBcIlwiKSB7XG4gICAgICAgIHJlc3AuaGVhZGVycy5kZWxldGUoaylcbiAgICAgIH0gZWxzZSBpZiAoPGFueT52ICE9PSB0cnVlKSB7IC8vIHRydWUgaW1wbGllcyBwYXNzIHRocm91Z2hcbiAgICAgICAgcmVzcC5oZWFkZXJzLnNldChrLCB2LnRvU3RyaW5nKCkpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNwXG59XG4iXX0=