Added handles to handle traffic to api
This commit is contained in:
parent
91adb5ec98
commit
363c25045c
43
src/handles/handle.ts
Normal file
43
src/handles/handle.ts
Normal file
@ -0,0 +1,43 @@
|
||||
import { AppData } from "$lib/classes/app-sessions";
|
||||
import { logger } from "$lib/utils/logger";
|
||||
import { error, redirect, type Handle } from "@sveltejs/kit";
|
||||
import { sequence } from "@sveltejs/kit/hooks";
|
||||
|
||||
|
||||
const sessionConstructorHandle = (async ({event, resolve}) => {
|
||||
|
||||
const data = await AppData.extractAppDataFromCookies(event.cookies)
|
||||
|
||||
logger.debug(`Session Data: ${data}`, "Session Handle")
|
||||
|
||||
event.locals.session = data
|
||||
|
||||
return await resolve(event)
|
||||
|
||||
}) satisfies Handle
|
||||
|
||||
|
||||
const apiHandle = (async ({event, resolve}) => {
|
||||
|
||||
logger.debug(event.url.pathname, "API Handle")
|
||||
logger.debug(`Session Data: ${event.locals.session}`, "API Handle")
|
||||
|
||||
if(!event.url.pathname.startsWith("/api/program")) {
|
||||
// next handle
|
||||
return await resolve(event)
|
||||
}
|
||||
|
||||
if (!event.locals.session) {
|
||||
// Satisfies HTTP Codes:
|
||||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/401
|
||||
return error(401, "Not Authorized")
|
||||
}
|
||||
|
||||
return await resolve(event)
|
||||
|
||||
}) satisfies Handle
|
||||
|
||||
export const handles = sequence(
|
||||
sessionConstructorHandle,
|
||||
apiHandle
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user