MCPcopy Create free account
hub / github.com/solidjs/solid-start / createSingleFlightHeaders

Function createSingleFlightHeaders

packages/start/src/fns/handler.ts:200–234  ·  view source on GitHub ↗
(sourceEvent: FetchEvent)

Source from the content-addressed store, hash-verified

198
199let App: any;
200export function createSingleFlightHeaders(sourceEvent: FetchEvent) {
201 // cookie handling logic is pretty simplistic so this might be imperfect
202 // unclear if h3 internals are available on all platforms but we need a way to
203 // update request headers on the underlying H3 event.
204
205 const headers = new Headers(sourceEvent.request.headers);
206 const cookies = parseCookies(sourceEvent.nativeEvent);
207 const SetCookies = sourceEvent.response.headers.getSetCookie();
208 headers.delete("cookie");
209 // let useH3Internals = false;
210 // if (sourceEvent.nativeEvent.node?.req) {
211 // useH3Internals = true;
212 // sourceEvent.nativeEvent.node.req.headers.cookie = "";
213 // }
214 SetCookies.forEach(cookie => {
215 if (!cookie) return;
216 const { maxAge, expires, name, value } = parseSetCookie(cookie);
217 if (maxAge != null && maxAge <= 0) {
218 delete cookies[name];
219 return;
220 }
221 if (expires != null && expires.getTime() <= Date.now()) {
222 delete cookies[name];
223 return;
224 }
225 cookies[name] = value;
226 });
227 Object.entries(cookies).forEach(([key, value]) => {
228 headers.append("cookie", `${key}=${value}`);
229 // useH3Internals &&
230 // (sourceEvent.nativeEvent.node.req.headers.cookie += `${key}=${value};`);
231 });
232
233 return headers;
234}
235async function handleSingleFlight(sourceEvent: FetchEvent, result: any): Promise<Response> {
236 let revalidate: string[];
237 let url = new URL(sourceEvent.request.headers.get("referer")!).toString();

Callers 2

handler.spec.tsFile · 0.85
handleSingleFlightFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…