From aaf8b1935f712995c1fe9acf4f96dab9bbd98203 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Fri, 31 Jan 2025 00:27:22 -0800 Subject: [PATCH] Fixed auth check. --- next-env.d.ts | 1 - src/lib/detect.ts | 2 +- src/lib/request.ts | 9 ++++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/next-env.d.ts b/next-env.d.ts index 725dd6f2..40c3d680 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,6 +1,5 @@ /// /// -/// // NOTE: This file should not be edited // see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. diff --git a/src/lib/detect.ts b/src/lib/detect.ts index fe1c2124..83504095 100644 --- a/src/lib/detect.ts +++ b/src/lib/detect.ts @@ -86,7 +86,7 @@ function decodeHeader(s: string | undefined | null): string | undefined | null { return Buffer.from(s, 'latin1').toString('utf-8'); } -export async function getLocation(ip: string, headers: Headers) { +export async function getLocation(ip: string = '', headers: Headers) { // Ignore local ips if (await isLocalhost(ip)) { return; diff --git a/src/lib/request.ts b/src/lib/request.ts index dc721225..c71684b9 100644 --- a/src/lib/request.ts +++ b/src/lib/request.ts @@ -22,6 +22,7 @@ export async function parseRequest( let query = Object.fromEntries(url.searchParams); let body = await getJsonBody(request); let error: () => void | undefined; + let auth = null; if (schema) { const isGet = request.method === 'GET'; @@ -36,10 +37,12 @@ export async function parseRequest( } } - const auth = !error && !options?.skipAuth ? await checkAuth(request) : null; + if (!options?.skipAuth && !error) { + auth = await checkAuth(request); - if (!error && !auth) { - error = () => unauthorized(); + if (!auth) { + error = () => unauthorized(); + } } return { url, query, body, auth, error };