cassava
Version:
AWS API Gateway Router
64 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RouterResponse = void 0;
var RouterResponse;
(function (RouterResponse) {
function getHeader(resp, field) {
const fieldLower = field.toLowerCase();
if (resp.multiValueHeaders) {
for (const k of Object.keys(resp.multiValueHeaders)) {
if (k.toLowerCase() === fieldLower) {
if (resp.multiValueHeaders[k].length === 1) {
return resp.multiValueHeaders[k][0];
}
else {
return resp.multiValueHeaders[k];
}
}
}
}
if (resp.headers) {
for (const k of Object.keys(resp.headers)) {
if (k.toLowerCase() === fieldLower) {
return resp.headers[k];
}
}
}
return null;
}
RouterResponse.getHeader = getHeader;
function setHeader(resp, field, value) {
var _a;
if ((_a = resp.multiValueHeaders) === null || _a === void 0 ? void 0 : _a[field]) {
setMultiValueHeader(resp, field, [value]);
return;
}
if (!resp.headers) {
resp.headers = {};
}
const fieldLower = field.toLowerCase();
for (const k of Object.keys(resp.headers)) {
if (k.toLowerCase() === fieldLower) {
setMultiValueHeader(resp, field, [resp.headers[k], value]);
delete resp.headers[k];
return;
}
}
resp.headers[field] = value;
}
RouterResponse.setHeader = setHeader;
function setMultiValueHeader(resp, field, value) {
if (!resp.multiValueHeaders) {
resp.multiValueHeaders = {};
}
const fieldLower = field.toLowerCase();
for (const k of Object.keys(resp.multiValueHeaders)) {
if (k.toLowerCase() === fieldLower) {
resp.multiValueHeaders[k].push(...value);
return;
}
}
resp.multiValueHeaders[field] = value;
}
})(RouterResponse = exports.RouterResponse || (exports.RouterResponse = {}));
//# sourceMappingURL=RouterResponse.js.map