-
-
Couldn't load subscription status.
- Fork 2.1k
Open
Description
Describe the problem
setHeaders from getRequestEvent() fails here when attempting to set multiple Server-Timing headers.
# error in terminal
Error: "Server-Timing" header is already set
at setHeaders (node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:147:17)
...Describe the proposed solution
Have setHeaders handle Server-Timing like Headers.append if the key already exist in the map.
Alternatives considered
I've worked around the problem by doing something like this:
/** somewhere in the code */
setHeaders({
[`x-timing-${randomUUID()}`]: `${timingName};dur=${time}`,
});
/** server.hooks.ts */
response.headers.keys().filter((k) => k.startsWith('x-timing-')).forEach((k) => {
const v = response.headers.get(k);
response.headers.append('Server-Timing', v!);
response.headers.delete(k);
});
response.headers.append('Server-Timing', `total;dur=${Date.now() - start}`);Importance
would make my life easier
Additional Information
Thanks for this amazingly fun framework to work with 🫶
Metadata
Metadata
Assignees
Labels
No labels