add route logging
This commit is contained in:
parent
78910f0b66
commit
4483404e8b
1 changed files with 30 additions and 3 deletions
33
src/index.ts
33
src/index.ts
|
@ -4,6 +4,8 @@ import { environment, verifyRequiredVariables } from "@config";
|
||||||
import { withCors } from "@lib/cors";
|
import { withCors } from "@lib/cors";
|
||||||
import { serve, sql } from "bun";
|
import { serve, sql } from "bun";
|
||||||
|
|
||||||
|
const ignoreRoutes = ["/favicon.ico"];
|
||||||
|
|
||||||
verifyRequiredVariables();
|
verifyRequiredVariables();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -42,7 +44,34 @@ const auth = new DiscordAuth();
|
||||||
|
|
||||||
serve({
|
serve({
|
||||||
port: environment.port,
|
port: environment.port,
|
||||||
fetch: async (req) => {
|
fetch: async (req, server) => {
|
||||||
|
const url = new URL(req.url);
|
||||||
|
|
||||||
|
if (ignoreRoutes.includes(url.pathname)) {
|
||||||
|
return new Response(null, { status: 204 });
|
||||||
|
}
|
||||||
|
|
||||||
|
let ip = server.requestIP(req)?.address;
|
||||||
|
if (
|
||||||
|
!ip ||
|
||||||
|
ip.startsWith("172.") ||
|
||||||
|
ip === "127.0.0.1" ||
|
||||||
|
ip.startsWith("::ff")
|
||||||
|
) {
|
||||||
|
ip =
|
||||||
|
req.headers.get("CF-Connecting-IP")?.trim() ||
|
||||||
|
req.headers.get("X-Real-IP")?.trim() ||
|
||||||
|
req.headers.get("X-Forwarded-For")?.split(",")[0].trim() ||
|
||||||
|
"unknown";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo.custom(req.method, `${url.pathname}${url.search}`, {
|
||||||
|
IP: ip,
|
||||||
|
"User-Agent": req.headers.get("User-Agent") || "unknown",
|
||||||
|
Referer: req.headers.get("Referer") || "unknown",
|
||||||
|
Origin: req.headers.get("Origin") || "unknown",
|
||||||
|
});
|
||||||
|
|
||||||
if (req.method === "OPTIONS") {
|
if (req.method === "OPTIONS") {
|
||||||
const origin = req.headers.get("origin") ?? "";
|
const origin = req.headers.get("origin") ?? "";
|
||||||
return new Response(null, {
|
return new Response(null, {
|
||||||
|
@ -58,8 +87,6 @@ serve({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = new URL(req.url);
|
|
||||||
|
|
||||||
if (url.pathname === "/auth/discord") return auth.startOAuthRedirect(req);
|
if (url.pathname === "/auth/discord") return auth.startOAuthRedirect(req);
|
||||||
if (url.pathname === "/auth/discord/callback")
|
if (url.pathname === "/auth/discord/callback")
|
||||||
return auth.handleCallback(req);
|
return auth.handleCallback(req);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue