File size: 1,580 Bytes
151f8f5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import { json } from "@remix-run/node";
import type { LoaderFunctionArgs } from "@remix-run/node";
export async function loader({ request }: LoaderFunctionArgs) {
// Only allow this in development or if a special debug header is set
const isDev = process.env.NODE_ENV === "development";
const debugHeader = request.headers.get("x-debug-token");
const debugToken = process.env.DEBUG_TOKEN;
if (!isDev && (!debugToken || debugHeader !== debugToken)) {
throw new Response("Not Found", { status: 404 });
}
// Safe environment info (no secrets)
const envInfo = {
NODE_ENV: process.env.NODE_ENV,
GITHUB_APP_ID: process.env.GITHUB_APP_ID ? 'β
Set' : 'β Missing',
GITHUB_APP_NAME: process.env.GITHUB_APP_NAME ? 'β
Set' : 'β Missing',
GITHUB_APP_PRIVATE_KEY: process.env.GITHUB_APP_PRIVATE_KEY ? 'β
Set' : 'β Missing',
GITHUB_APP_CLIENT_ID: process.env.GITHUB_APP_CLIENT_ID ? `β
Set (${process.env.GITHUB_APP_CLIENT_ID?.substring(0, 8)}...)` : 'β Missing',
GITHUB_APP_CLIENT_SECRET: process.env.GITHUB_APP_CLIENT_SECRET ? 'β
Set' : 'β Missing',
GITHUB_WEBHOOK_SECRET: process.env.GITHUB_WEBHOOK_SECRET ? 'β
Set' : 'β Missing',
GITHUB_CALLBACK_URL: process.env.GITHUB_CALLBACK_URL || 'β Missing',
SESSION_SECRET: process.env.SESSION_SECRET ? 'β
Set' : 'β Missing',
};
return json({
timestamp: new Date().toISOString(),
environment: envInfo,
request: {
url: request.url,
method: request.method,
headers: Object.fromEntries(request.headers.entries()),
}
});
}
|