
new URL as the second parameter, so you could do something like:new URL(context.request.url), and then pass the .hostname of that into that new constructor, or just override its .pathname etc. to construct your redirect URLlocation header, so perhaps even this could work (untested):12, which will likely break depending on your domaincanceled, make sure you read the response body (even if you don't need it).
undocumented implementation detail. Like providing dummy properly formatted URI in fetch request to desired Service Binding. Nevertheless, @kian suggestion worked. 



new URLnew URL(context.request.url).hostname.pathnamelocationcanceledfunction generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = (Math.random() * 16) | 0,
v = c == 'x' ? r : (r & 0x3) | 0x8;
return v.toString(16);
});
}
export async function onRequest(ctx) {
const response = Response.json({ response: { session: generateUUID() } });
response.headers.set('Access-Control-Allow-Origin', '*');
return response;
} 'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Methods': 'GET,HEAD,POST,OPTIONS',const redirectURL = new URL('/login/', 'https://example.com');
return Response.redirect(redirectURL.toString());return new Response(null, {
status: 302,
headers: {
location: '/login/',
}
});export async function onRequest(ctx) {
const response = Response.json({ response: { session: generateUUID() } });
response.headers.set("Access-Control-Allow-Origin", "*")
response.headers.set("Access-Control-Allow-Headers", "*")
response.headers.set("Access-Control-Allow-Methods", "GET,HEAD,POST,OPTIONS")
return response;
}