try to fix http return on https
Some checks failed
Code quality checks / biome (push) Failing after 10s

This commit is contained in:
creations 2025-04-20 12:48:07 -04:00
parent c73b8725c1
commit 72a660821a
Signed by: creations
GPG key ID: 8F553AA4320FC711

View file

@ -2,6 +2,14 @@ import { discordBadgeDetails, discordBadges } from "@config/discordBadges";
import { badgeServices, botToken, redisTtl } from "@config/environment"; import { badgeServices, botToken, redisTtl } from "@config/environment";
import { fetch, redis } from "bun"; import { fetch, redis } from "bun";
function getRequestOrigin(request: Request): string {
const headers = request.headers;
const forwardedProto = headers.get("X-Forwarded-Proto") || "http";
const host = headers.get("Host") || new URL(request.url).host;
return `${forwardedProto}://${host}`;
}
export async function fetchBadges( export async function fetchBadges(
userId: string, userId: string,
services: string[], services: string[],
@ -141,11 +149,12 @@ export async function fetchBadges(
if (!res.ok) break; if (!res.ok) break;
const data = await res.json(); const data = await res.json();
const origin = request ? getRequestOrigin(request) : "";
if (data.avatar.startsWith("a_")) { if (data.avatar.startsWith("a_")) {
result.push({ result.push({
tooltip: "Discord Nitro", tooltip: "Discord Nitro",
badge: `${request ? new URL(request.url).origin : ""}/public/badges/discord/NITRO.svg`, badge: `${origin}/public/badges/discord/NITRO.svg`,
}); });
} }
@ -155,7 +164,7 @@ export async function fetchBadges(
discordBadgeDetails[flag as keyof typeof discordBadgeDetails]; discordBadgeDetails[flag as keyof typeof discordBadgeDetails];
result.push({ result.push({
tooltip: badge.tooltip, tooltip: badge.tooltip,
badge: `${request ? new URL(request.url).origin : ""}${badge.icon}`, badge: `${origin}${badge.icon}`,
}); });
} }
} }