fix: respect res header immutability (#10554)
Properly respect and merge res headers.
This commit is contained in:
@@ -8,6 +8,7 @@ import type { PayloadRequest } from '../types/index.js'
|
||||
|
||||
import { createPayloadRequest } from './createPayloadRequest.js'
|
||||
import { headersWithCors } from './headersWithCors.js'
|
||||
import { mergeHeaders } from './mergeHeaders.js'
|
||||
import { routeError } from './routeError.js'
|
||||
|
||||
const notFoundResponse = (req: PayloadRequest) => {
|
||||
@@ -215,14 +216,11 @@ export const handleEndpoints = async ({
|
||||
}
|
||||
|
||||
const response = await handler(req)
|
||||
|
||||
if (req.responseHeaders) {
|
||||
for (const [key, value] of req.responseHeaders) {
|
||||
response.headers.append(key, value)
|
||||
}
|
||||
}
|
||||
|
||||
return response
|
||||
return new Response(response.body, {
|
||||
headers: mergeHeaders(req.responseHeaders ?? new Headers(), response.headers),
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
})
|
||||
} catch (err) {
|
||||
return routeError({
|
||||
collection,
|
||||
|
||||
Reference in New Issue
Block a user