mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-02-18 23:55:47 +00:00
25 lines
862 B
JavaScript
25 lines
862 B
JavaScript
const url = require('url')
|
|
|
|
module.exports = setWarning
|
|
|
|
function setWarning (reqOrRes, code, message, replace) {
|
|
// Warning = "Warning" ":" 1#warning-value
|
|
// warning-value = warn-code SP warn-agent SP warn-text [SP warn-date]
|
|
// warn-code = 3DIGIT
|
|
// warn-agent = ( host [ ":" port ] ) | pseudonym
|
|
// ; the name or pseudonym of the server adding
|
|
// ; the Warning header, for use in debugging
|
|
// warn-text = quoted-string
|
|
// warn-date = <"> HTTP-date <">
|
|
// (https://tools.ietf.org/html/rfc2616#section-14.46)
|
|
const host = url.parse(reqOrRes.url).host
|
|
const jsonMessage = JSON.stringify(message)
|
|
const jsonDate = JSON.stringify(new Date().toUTCString())
|
|
const header = replace ? 'set' : 'append'
|
|
|
|
reqOrRes.headers[header](
|
|
'Warning',
|
|
`${code} ${host} ${jsonMessage} ${jsonDate}`
|
|
)
|
|
}
|