Copy all the response headers.

This commit is contained in:
Andrea Dell'Amico 2022-10-24 12:26:50 +02:00
parent ddb2c4f470
commit b5ea6031d7
Signed by: andrea.dellamico
GPG Key ID: 147ABE6CEB9E20FF
1 changed files with 12 additions and 2 deletions

View File

@ -43,11 +43,15 @@ function enforce(r) {
return context.request.subrequest("/_backend", { method : context.request.method, args : context.request.variables.args, headers : context.request.headersIn})
}).then(reply=>{
debug(context, "[REL] response status: " + reply.status)
copyHeaders(context, reply.headersOut, r.headersOut)
closeAccountingRecord(context.record, (reply.status === 200 || reply.status === 201 || reply.status === 204))
context.request.subrequest("/_accounting", { detached : true, body : JSON.stringify(context.record) })
debug(context, njs.dump(reply))
context.request.headersOut['Content-type'] = "text/html"
r.return(reply.status, reply.responseText)
if(reply.status === 301 || reply.status === 302){
r.return(reply.status, reply.headersOut["Location"])
}else{
r.return(reply.status, reply.responseText)
}
}).catch(e => { log(context, "Error .... " + njs.dump(e)); context.request.return(e.message === "Unauthorized" ? 403 : 500)} )
return
@ -109,3 +113,9 @@ function exportVariable(context, name, value){
context.request.variables[name] = value
return context
}
function copyHeaders(context, hin, hout){
for (var h in hin) {
if(h !== "Location") hout[h] = hin[h];
}
}