Home / File/ render-context.ts — astro Source File

render-context.ts — astro Source File

Architecture documentation for render-context.ts, a typescript file in the astro codebase. 28 imports, 0 dependents.

File typescript CoreAstro RenderingEngine 28 imports 1 classes

Entity Profile

Dependency Diagram

graph LR
  26670781_0748_a2a7_7105_5e3a47a89b06["render-context.ts"]
  b0bf0fd2_1ce5_745d_58fc_02deee5192bf["../actions/runtime/client.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> b0bf0fd2_1ce5_745d_58fc_02deee5192bf
  4a188169_db01_767e_98b1_f9cf67180716["../actions/runtime/server.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 4a188169_db01_767e_98b1_f9cf67180716
  a1711a94_f06c_214e_28b9_0d6031277c04["../../actions/runtime/types.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> a1711a94_f06c_214e_28b9_0d6031277c04
  0dff10e7_1ebb_867f_8463_a5e280d1ba90["../actions/utils.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 0dff10e7_1ebb_867f_8463_a5e280d1ba90
  826cd871_9abe_6942_9f87_963e3fcce533["../i18n/utils.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 826cd871_9abe_6942_9f87_963e3fcce533
  823abad8_02d0_4c42_efe2_68e78c10b00d["../runtime/server/endpoint.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 823abad8_02d0_4c42_efe2_68e78c10b00d
  9e624f62_bcfa_4352_e9a0_dd454823f706["../../runtime/server/index.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 9e624f62_bcfa_4352_e9a0_dd454823f706
  e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> e9b74c5a_8d34_34a7_e196_5e41b87214aa
  135a8084_d596_67c2_9209_cca6693604e6["../types/public/common.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 135a8084_d596_67c2_9209_cca6693604e6
  28857b9f_4720_3f29_4abb_a7eec34dcca5["../types/public/context.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 28857b9f_4720_3f29_4abb_a7eec34dcca5
  10d4e39f_edb6_3e34_aa93_ae1211e7da05["../types/public/internal.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 10d4e39f_edb6_3e34_aa93_ae1211e7da05
  a4f2698c_5256_262a_ba7c_f72b51878d10["../core/app/types.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> a4f2698c_5256_262a_ba7c_f72b51878d10
  7216d952_4e4a_2d18_a85b_74b4ace79e2b["../core/constants.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 7216d952_4e4a_2d18_a85b_74b4ace79e2b
  34cf60ae_d0fa_22a9_892d_8834050ac3c1["../core/cookies/index.js"]
  26670781_0748_a2a7_7105_5e3a47a89b06 --> 34cf60ae_d0fa_22a9_892d_8834050ac3c1
  style 26670781_0748_a2a7_7105_5e3a47a89b06 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import colors from 'piccolore';
import { deserializeActionResult } from '../actions/runtime/client.js';
import { getActionContext } from '../actions/runtime/server.js';
import type { ActionAPIContext } from '../actions/runtime/types.js';
import { createCallAction, createGetActionResult, hasActionPayload } from '../actions/utils.js';
import {
	computeCurrentLocale,
	computePreferredLocale,
	computePreferredLocaleList,
} from '../i18n/utils.js';
import { renderEndpoint } from '../runtime/server/endpoint.js';
import { renderPage } from '../runtime/server/index.js';
import type { ComponentInstance } from '../types/astro.js';
import type { MiddlewareHandler, Props, RewritePayload } from '../types/public/common.js';
import type { APIContext, AstroGlobal } from '../types/public/context.js';
import type { RouteData, SSRResult } from '../types/public/internal.js';
import type { ServerIslandMappings, SSRActions } from './app/types.js';
import {
	ASTRO_GENERATOR,
	pipelineSymbol,
	REROUTE_DIRECTIVE_HEADER,
	REWRITE_DIRECTIVE_HEADER_KEY,
	REWRITE_DIRECTIVE_HEADER_VALUE,
	ROUTE_TYPE_HEADER,
	responseSentSymbol,
} from './constants.js';
import { AstroCookies, attachCookiesToResponse } from './cookies/index.js';
import { getCookiesFromResponse } from './cookies/response.js';
import { pushDirective } from './csp/runtime.js';
import { generateCspDigest } from './encryption.js';
import { ForbiddenRewrite } from './errors/errors-data.js';
import { AstroError, AstroErrorData } from './errors/index.js';
import { callMiddleware } from './middleware/callMiddleware.js';
import { sequence } from './middleware/index.js';
import { renderRedirect } from './redirects/render.js';
import { getParams, getProps, type Pipeline, Slots } from './render/index.js';
import { isRoute404or500, isRouteExternalRedirect, isRouteServerIsland } from './routing/match.js';
import { copyRequest, getOriginPathname, setOriginPathname } from './routing/rewrite.js';
import { AstroSession } from './session/runtime.js';
import { validateAndDecodePathname } from './util/pathname.js';

/**
 * Each request is rendered using a `RenderContext`.
 * It contains data unique to each request. It is responsible for executing middleware, calling endpoints, and rendering the page by gathering necessary data from a `Pipeline`.
 */

export type CreateRenderContext = Pick<
	RenderContext,
	'pathname' | 'pipeline' | 'request' | 'routeData' | 'clientAddress'
> &
	Partial<
		Pick<
			RenderContext,
			| 'locals'
			| 'status'
			| 'props'
			| 'partial'
			| 'actions'
			| 'shouldInjectCspMetaTags'
			| 'skipMiddleware'
// ... (813 more lines)

Domain

Subdomains

Classes

Dependencies

  • ../../actions/runtime/types.js
  • ../../core/session/runtime.js
  • ../../runtime/server/index.js
  • ../actions/runtime/client.js
  • ../actions/runtime/server.js
  • ../actions/utils.js
  • ../core/app/types.js
  • ../core/constants.js
  • ../core/cookies/index.js
  • ../core/encryption.js
  • ../core/errors/errors-data.js
  • ../core/errors/index.js
  • ../core/render/index.js
  • ../core/routing/match.js
  • ../core/routing/rewrite.js
  • ../i18n/utils.js
  • ../redirects/render.js
  • ../runtime/server/endpoint.js
  • ../types/astro.js
  • ../types/public/common.js
  • ../types/public/context.js
  • ../types/public/internal.js
  • ./cookies/response.js
  • ./csp/runtime.js
  • ./middleware/callMiddleware.js
  • ./middleware/index.js
  • ./util/pathname.js
  • piccolore

Frequently Asked Questions

What does render-context.ts do?
render-context.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What does render-context.ts depend on?
render-context.ts imports 28 module(s): ../../actions/runtime/types.js, ../../core/session/runtime.js, ../../runtime/server/index.js, ../actions/runtime/client.js, ../actions/runtime/server.js, ../actions/utils.js, ../core/app/types.js, ../core/constants.js, and 20 more.
Where is render-context.ts in the architecture?
render-context.ts is located at packages/astro/src/core/render-context.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/core).

Analyze Your Own Codebase

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

Try Supermodel Free