mirror of
https://github.com/sasjs/server.git
synced 2026-01-05 13:50:06 +00:00
feat: set response headers provded by SAS Code execution
This commit is contained in:
25
api/src/utils/extractHeaders.ts
Normal file
25
api/src/utils/extractHeaders.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
const headerUtils = require('http-headers-validation')
|
||||
|
||||
export interface HTTPHeaders {
|
||||
[key: string]: string | undefined
|
||||
}
|
||||
|
||||
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] = value
|
||||
} else {
|
||||
delete headersObj[key]
|
||||
}
|
||||
})
|
||||
|
||||
return headersObj
|
||||
}
|
||||
Reference in New Issue
Block a user