Home / File/ request.ts — astro Source File

request.ts — astro Source File

Architecture documentation for request.ts, a typescript file in the astro codebase.

Entity Profile

Relationship Graph

Source Code

/**
 * Utilities for extracting information from `Request`
 */

// Parses multiple header and returns first value if available.
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'));
}

Domain

Subdomains

Frequently Asked Questions

What does request.ts do?
request.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, CoreMiddleware subdomain.
What functions are defined in request.ts?
request.ts defines 2 function(s): getClientIpAddress, getFirstForwardedValue.
Where is request.ts in the architecture?
request.ts is located at packages/astro/src/core/routing/request.ts (domain: CoreAstro, subdomain: CoreMiddleware, directory: packages/astro/src/core/routing).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free