mirror of
https://github.com/sasjs/server.git
synced 2025-12-10 19:34:34 +00:00
26 lines
634 B
TypeScript
26 lines
634 B
TypeScript
const headerUtils = require('http-headers-validation')
|
|
|
|
export interface HTTPHeaders {
|
|
[key: string]: string
|
|
}
|
|
|
|
export const extractHeaders = (content?: string): HTTPHeaders => {
|
|
const headersObj: HTTPHeaders = {}
|
|
const headersArr = content
|
|
?.split('\n')
|
|
.map((line) => line.trim())
|
|
.filter((line) => !!line)
|
|
|
|
headersArr?.forEach((headerStr) => {
|
|
const [key, value] = headerStr.split(':').map((data) => data.trim())
|
|
|
|
if (value && headerUtils.validateHeader(key, value)) {
|
|
headersObj[key.toLowerCase()] = value
|
|
} else {
|
|
delete headersObj[key.toLowerCase()]
|
|
}
|
|
})
|
|
|
|
return headersObj
|
|
}
|