@fly/cdn
Version:
Fly's TypeScript CDN
31 lines • 2.95 kB
JavaScript
/**
* @module Middleware
*/
import { responseModifier } from "./builder";
/**
* Middleware to set headers on responses
* @param fetch
* @param options
*/
export const responseHeaders = responseModifier(addResponseHeaders);
/**
* Sets provided headers on a response object
* @private
* @param resp
* @param options
* @hidden
*/
export async function addResponseHeaders(resp, headers) {
if (headers) {
for (const [k, v] of Object.entries(headers)) {
if (v === false) {
resp.headers.delete(k);
}
else if (v !== true) { // true implies pass through
resp.headers.set(k, v.toString());
}
}
}
return resp;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UtaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWRkbGV3YXJlL3Jlc3BvbnNlLWhlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFTN0M7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0FBRW5FOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsSUFBYyxFQUFFLE9BQStCO0lBQ3RGLElBQUksT0FBTyxFQUFFO1FBQ1gsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ3ZCO2lCQUFNLElBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLDRCQUE0QjtnQkFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2FBQ2xDO1NBQ0Y7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBNaWRkbGV3YXJlXG4gKi9cbmltcG9ydCB7IHJlc3BvbnNlTW9kaWZpZXIgfSBmcm9tIFwiLi9idWlsZGVyXCI7XG5cbi8qKlxuICogSGVhZGVyIG5hbWUvdmFsdWUgcGFpcnMgdG8gc2V0IG9uIGEgcmVzcG9uc2UuIFRoZSBib29sZWFuIGBmYWxzZWAgcmVtb3ZlcyB0aGUgaGVhZGVyIGVudGlyZWx5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlSGVhZGVyc09wdGlvbnMge1xuICBbbmFtZTogc3RyaW5nXTogc3RyaW5nIHwgZmFsc2Vcbn1cblxuLyoqXG4gKiBNaWRkbGV3YXJlIHRvIHNldCBoZWFkZXJzIG9uIHJlc3BvbnNlc1xuICogQHBhcmFtIGZldGNoIFxuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc3BvbnNlSGVhZGVycyA9IHJlc3BvbnNlTW9kaWZpZXIoYWRkUmVzcG9uc2VIZWFkZXJzKVxuXG4vKipcbiAqIFNldHMgcHJvdmlkZWQgaGVhZGVycyBvbiBhIHJlc3BvbnNlIG9iamVjdFxuICogQHByaXZhdGVcbiAqIEBwYXJhbSByZXNwIFxuICogQHBhcmFtIG9wdGlvbnMgXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRSZXNwb25zZUhlYWRlcnMocmVzcDogUmVzcG9uc2UsIGhlYWRlcnM6IFJlc3BvbnNlSGVhZGVyc09wdGlvbnMpe1xuICBpZiAoaGVhZGVycykge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpKSB7XG4gICAgICBpZiAodiA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmVzcC5oZWFkZXJzLmRlbGV0ZShrKVxuICAgICAgfSBlbHNlIGlmICg8YW55PnYgIT09IHRydWUpIHsgLy8gdHJ1ZSBpbXBsaWVzIHBhc3MgdGhyb3VnaFxuICAgICAgICByZXNwLmhlYWRlcnMuc2V0KGssIHYudG9TdHJpbmcoKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3Bcbn1cbiJdfQ==