|
1 | | -import { NextResponse } from 'next/server'; |
| 1 | +import { NextResponse } from "next/server"; |
2 | 2 |
|
3 | | -export const runtime = 'nodejs'; |
| 3 | +export const runtime = "nodejs"; |
4 | 4 |
|
5 | 5 | export async function GET(request: Request) { |
6 | 6 | try { |
7 | 7 | const backendUrl = `${process.env.NEXT_PUBLIC_API_URL}/seat/changes`; |
8 | | - |
9 | | - const origin = request.headers.get('origin') || 'http://localhost:3000'; |
10 | | - |
11 | | - const cookie = request.headers.get('cookie'); |
| 8 | + |
| 9 | + const origin = request.headers.get("origin") || "http://localhost:3000"; |
| 10 | + |
| 11 | + const cookie = request.headers.get("cookie"); |
12 | 12 | const requestHeaders: HeadersInit = { |
13 | | - 'Accept': 'text/event-stream', |
| 13 | + Accept: "text/event-stream", |
14 | 14 | }; |
15 | | - |
| 15 | + |
16 | 16 | if (cookie) { |
17 | | - requestHeaders['Cookie'] = cookie; |
| 17 | + requestHeaders["Cookie"] = cookie; |
18 | 18 | } |
19 | | - |
| 19 | + |
20 | 20 | const response = await fetch(backendUrl, { |
21 | 21 | headers: requestHeaders, |
22 | | - credentials: 'include', |
| 22 | + credentials: "include", |
23 | 23 | }); |
24 | 24 |
|
25 | 25 | if (!response.ok) { |
26 | | - return new NextResponse(`Backend connection failed: ${response.status} ${response.statusText}`, { |
27 | | - status: response.status |
28 | | - }); |
| 26 | + return new NextResponse( |
| 27 | + `Backend connection failed: ${response.status} ${response.statusText}`, |
| 28 | + { |
| 29 | + status: response.status, |
| 30 | + }, |
| 31 | + ); |
29 | 32 | } |
30 | 33 |
|
31 | 34 | const responseHeaders = new Headers(); |
32 | | - responseHeaders.set('Content-Type', 'text/event-stream; charset=utf-8'); |
33 | | - responseHeaders.set('Cache-Control', 'no-cache, no-transform'); |
34 | | - responseHeaders.set('Connection', 'keep-alive'); |
35 | | - responseHeaders.set('Transfer-Encoding', 'chunked'); |
36 | | - responseHeaders.set('Access-Control-Allow-Origin', origin); |
37 | | - responseHeaders.set('Access-Control-Allow-Methods', 'GET'); |
38 | | - responseHeaders.set('Access-Control-Allow-Headers', 'Cache-Control, Cookie'); |
39 | | - responseHeaders.set('Access-Control-Allow-Credentials', 'true'); |
| 35 | + responseHeaders.set("Content-Type", "text/event-stream; charset=utf-8"); |
| 36 | + responseHeaders.set("Cache-Control", "no-cache, no-transform"); |
| 37 | + responseHeaders.set("Connection", "keep-alive"); |
| 38 | + responseHeaders.set("Transfer-Encoding", "chunked"); |
| 39 | + responseHeaders.set("Access-Control-Allow-Origin", origin); |
| 40 | + responseHeaders.set("Access-Control-Allow-Methods", "GET"); |
| 41 | + responseHeaders.set("Access-Control-Allow-Headers", "Cache-Control, Cookie"); |
| 42 | + responseHeaders.set("Access-Control-Allow-Credentials", "true"); |
40 | 43 |
|
41 | 44 | const stream = new ReadableStream({ |
42 | 45 | async start(controller) { |
@@ -67,6 +70,6 @@ export async function GET(request: Request) { |
67 | 70 | return new NextResponse(stream, { headers: responseHeaders }); |
68 | 71 | } catch (error) { |
69 | 72 | console.error(error); |
70 | | - return new NextResponse('Internal Server Error', { status: 500 }); |
| 73 | + return new NextResponse("Internal Server Error", { status: 500 }); |
71 | 74 | } |
72 | 75 | } |
0 commit comments