th3w1zard1's picture
Deploy GPTR trask-http from community-bots local CI
3a25f97 verified
import { extractBearerToken, isWebSocketUpgradeHeader } from "./index.js";
type SerializableValue = object | string | number | boolean | null;
export const createCorsHeaders = (origin = "*"): HeadersInit => ({
"Access-Control-Allow-Origin": origin,
"Access-Control-Allow-Headers": "authorization,content-type",
"Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS",
});
export const jsonResponse = (data: SerializableValue, status = 200, corsHeaders: HeadersInit = createCorsHeaders()): Response => {
return new Response(JSON.stringify(data), {
status,
headers: {
"Content-Type": "application/json",
...corsHeaders,
},
});
};
export const emptyResponse = (status = 204, corsHeaders: HeadersInit = createCorsHeaders()): Response => {
return new Response(null, { status, headers: corsHeaders });
};
export const errorResponse = (message: string, status = 400, corsHeaders: HeadersInit = createCorsHeaders()): Response => {
return jsonResponse({ error: message }, status, corsHeaders);
};
export const parseBearerTokenFromHeaders = (headers: Headers): string | null => extractBearerToken(headers.get("authorization"));
export const isWebSocketUpgradeRequest = (request: Request): boolean => isWebSocketUpgradeHeader(request.headers.get("Upgrade"));