(req: Pick<IncomingMessage, 'headers' | 'connection'>)
| 4 | * Get all addresses in the request, using the `X-Forwarded-For` header. |
| 5 | */ |
| 6 | export function forwarded(req: Pick<IncomingMessage, 'headers' | 'connection'>) { |
| 7 | // simple header parsing |
| 8 | const proxyAddrs = parse((req.headers['x-forwarded-for'] as string) || '') |
| 9 | const socketAddr = req.connection.remoteAddress |
| 10 | |
| 11 | // return all addresses |
| 12 | return [socketAddr].concat(proxyAddrs) |
| 13 | } |
| 14 | |
| 15 | /** |
| 16 | * Parse the X-Forwarded-For header. |
no test coverage detected