Spaces:
Running
Running
File size: 701 Bytes
aa01edd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import type { ServerResponse } from "node:http";
import { verifyTokenAndRateLimit } from "./verifyTokenAndRateLimit";
/** Handles token verification and sends appropriate error responses if needed. */
export async function handleTokenVerification(
token: string | null,
response: ServerResponse,
): Promise<{ shouldContinue: boolean }> {
const { isAuthorized, statusCode, error } =
await verifyTokenAndRateLimit(token);
if (!isAuthorized && statusCode && error) {
response.statusCode = statusCode;
response.setHeader("Content-Type", "application/json");
response.end(JSON.stringify({ error }));
return { shouldContinue: false };
}
return { shouldContinue: true };
}
|