31 lines
843 B
TypeScript
31 lines
843 B
TypeScript
import type { RequestHandler } from './$types';
|
|
import { API_BASE_URL } from '$lib/server/config';
|
|
|
|
export const GET: RequestHandler = async (event) => {
|
|
const url = new URL('/events', API_BASE_URL).toString();
|
|
const headers = new Headers();
|
|
|
|
const cookie = event.request.headers.get('cookie');
|
|
if (cookie) {
|
|
headers.set('cookie', cookie);
|
|
}
|
|
headers.set('accept', 'text/event-stream');
|
|
|
|
const response = await event.fetch(url, {
|
|
method: 'GET',
|
|
headers,
|
|
credentials: 'include'
|
|
});
|
|
|
|
const proxiedHeaders = new Headers(response.headers);
|
|
if (!proxiedHeaders.has('content-type')) {
|
|
proxiedHeaders.set('content-type', 'text/event-stream');
|
|
}
|
|
proxiedHeaders.set('cache-control', 'no-cache');
|
|
|
|
return new Response(response.body, {
|
|
status: response.status,
|
|
statusText: response.statusText,
|
|
headers: proxiedHeaders
|
|
});
|
|
};
|