blob: f7e917a53cde16ed9f165d413204cbd2a8013872 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/**
* Utilities for extracting information from `Request`
*/
// Parses multiple header and returns first value if available.
export function getFirstForwardedValue(multiValueHeader?: string | string[] | null) {
return multiValueHeader
?.toString()
?.split(',')
.map((e) => e.trim())?.[0];
}
/**
* Returns the first value associated to the `x-forwarded-for` header.
*
* @param {Request} request
*/
export function getClientIpAddress(request: Request): string | undefined {
return getFirstForwardedValue(request.headers.get('x-forwarded-for'));
}
|