(req: IncomingMessage)
| 5 | * If AUTH_TOKEN is not set, all connections are allowed. |
| 6 | */ |
| 7 | export function validateAuthToken(req: IncomingMessage): boolean { |
| 8 | const authToken = process.env.AUTH_TOKEN; |
| 9 | if (!authToken) { |
| 10 | return true; |
| 11 | } |
| 12 | |
| 13 | const url = new URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`); |
| 14 | const token = url.searchParams.get("token"); |
| 15 | return token === authToken; |
| 16 | } |
| 17 | |
| 18 | /** |
| 19 | * Simple per-IP rate limiter for new connections. |