MCPcopy Index your code
hub / github.com/TanStack/router / executeRouter

Function executeRouter

packages/start-server-core/src/createStartHandler.ts:542–592  ·  view source on GitHub ↗
(
        serverContext: TODO,
        matchedRoutes?: ReadonlyArray<AnyRoute>,
      )

Source from the content-addressed store, hash-verified

540
541 // Router execution function
542 const executeRouter = async (
543 serverContext: TODO,
544 matchedRoutes?: ReadonlyArray<AnyRoute>,
545 ): Promise<Response> => {
546 const acceptHeader = request.headers.get('Accept') || '*/*'
547 const acceptParts = acceptHeader.split(',')
548 const supportedMimeTypes = ['*/*', 'text/html']
549
550 const isSupported = supportedMimeTypes.some((mimeType) =>
551 acceptParts.some((part) => part.trim().startsWith(mimeType)),
552 )
553
554 if (!isSupported) {
555 return Response.json(
556 { error: 'Only HTML requests are supported here' },
557 { status: 500 },
558 )
559 }
560
561 const manifest = await resolveManifest(
562 matchedRoutes,
563 await getTransformFn({ warmup: false, request }),
564 cache,
565 )
566 const routerInstance = await getRouter()
567
568 attachRouterServerSsrUtils({
569 router: routerInstance,
570 manifest,
571 })
572
573 routerInstance.update({ additionalContext: { serverContext } })
574 await routerInstance.load()
575
576 if (routerInstance.state.redirect) {
577 return routerInstance.state.redirect
578 }
579
580 await routerInstance.serverSsr!.dehydrate()
581
582 const responseHeaders = getStartResponseHeaders({
583 router: routerInstance,
584 })
585 cbWillCleanup = true
586
587 return cb({
588 request,
589 router: routerInstance,
590 responseHeaders,
591 })
592 }
593
594 // Main request handler
595 const requestHandlerMiddleware = async ({ context }: TODO) => {

Callers 1

handleServerRoutesFunction · 0.85

Calls 10

resolveManifestFunction · 0.85
getTransformFnFunction · 0.85
getStartResponseHeadersFunction · 0.85
startsWithMethod · 0.80
trimMethod · 0.80
getRouterFunction · 0.70
getMethod · 0.65
jsonMethod · 0.65
updateMethod · 0.65

Tested by

no test coverage detected