403Webshell
Server IP : 159.203.156.69  /  Your IP : 216.73.217.172
Web Server : nginx/1.24.0
System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/tanviranik.com/node_modules/vinext/dist/server/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/tanviranik.com/node_modules/vinext/dist/server/app-page-render.js.map
{"version":3,"file":"app-page-render.js","names":[],"sources":["../../src/server/app-page-render.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { ReactFormState } from \"react-dom/client\";\nimport type { CachedAppPageValue } from \"vinext/shims/cache\";\nimport { runWithFetchDedupe } from \"vinext/shims/fetch-cache\";\nimport { AppElementsWire, isAppElementsRecord, type AppOutgoingElements } from \"./app-elements.js\";\nimport {\n  finalizeAppPageHtmlCacheResponse,\n  finalizeAppPageRscCacheResponse,\n} from \"./app-page-cache.js\";\nimport {\n  buildAppPageFontLinkHeader,\n  readAppPageBinaryStream,\n  resolveAppPageSpecialError,\n  teeAppPageRscStreamForCapture,\n  type AppPageFontPreload,\n  type AppPageSpecialError,\n  type LayoutClassificationOptions,\n} from \"./app-page-execution.js\";\nimport { probeAppPageBeforeRender } from \"./app-page-probe.js\";\nimport {\n  buildAppPageHtmlResponse,\n  buildAppPageRscResponse,\n  resolveAppPageHtmlResponsePolicy,\n  resolveAppPageRscResponsePolicy,\n  type AppPageMiddlewareContext,\n  type AppPageResponseTiming,\n} from \"./app-page-response.js\";\nimport {\n  createAppPageFontData,\n  createAppPageRscErrorTracker,\n  deferUntilStreamConsumed,\n  renderAppPageHtmlStream,\n  renderAppPageHtmlStreamWithRecovery,\n  shouldRerenderAppPageWithGlobalError,\n  type AppPageSsrHandler,\n} from \"./app-page-stream.js\";\nimport type { AppRscRenderMode } from \"./app-rsc-render-mode.js\";\nimport {\n  createArtifactCompatibilityEnvelope,\n  createArtifactCompatibilityGraphVersion,\n  type ArtifactCompatibilityEnvelope,\n} from \"./artifact-compatibility.js\";\n\ntype AppPageBoundaryOnError = (\n  error: unknown,\n  requestInfo: unknown,\n  errorContext: unknown,\n) => unknown;\ntype AppPageDebugLogger = (event: string, detail: string) => void;\ntype AppPageCacheSetter = (\n  key: string,\n  data: CachedAppPageValue,\n  revalidateSeconds: number,\n  tags: string[],\n  expireSeconds?: number,\n) => Promise<void>;\n\ntype AppPageRequestCacheLife = {\n  revalidate?: number;\n  expire?: number;\n};\n\ntype RenderAppPageLifecycleOptions = {\n  cleanPathname: string;\n  clearRequestContext: () => void;\n  consumeDynamicUsage: () => boolean;\n  /** Read and clear any invalid dynamic usage error recorded during render (dev-only). */\n  consumeInvalidDynamicUsageError?: () => unknown;\n  createRscOnErrorHandler: (pathname: string, routePath: string) => AppPageBoundaryOnError;\n  getFontLinks: () => string[];\n  getFontPreloads: () => AppPageFontPreload[];\n  getFontStyles: () => string[];\n  getNavigationContext: () => unknown;\n  getPageTags: () => string[];\n  getRequestCacheLife: () => AppPageRequestCacheLife | null;\n  peekRequestCacheLife?: () => AppPageRequestCacheLife | null;\n  getDraftModeCookieHeader: () => string | null | undefined;\n  handlerStart: number;\n  hasLoadingBoundary: boolean;\n  isDynamicError: boolean;\n  isDraftMode: boolean;\n  isForceDynamic: boolean;\n  isForceStatic: boolean;\n  isProgressiveActionRender?: boolean;\n  isPrerender?: boolean;\n  isProduction: boolean;\n  isRscRequest: boolean;\n  isrDebug?: AppPageDebugLogger;\n  isrHtmlKey: (pathname: string) => string;\n  isrRscKey: (\n    pathname: string,\n    mountedSlotsHeader?: string | null,\n    renderMode?: AppRscRenderMode,\n  ) => string;\n  isrSet: AppPageCacheSetter;\n  layoutCount: number;\n  loadSsrHandler: () => Promise<AppPageSsrHandler>;\n  middlewareContext: AppPageMiddlewareContext;\n  params: Record<string, unknown>;\n  probeLayoutAt: (layoutIndex: number) => unknown;\n  probePage: () => unknown;\n  expireSeconds?: number;\n  formState?: ReactFormState | null;\n  revalidateSeconds: number | null;\n  renderErrorBoundaryResponse: (error: unknown) => Promise<Response | null>;\n  renderLayoutSpecialError: (\n    specialError: AppPageSpecialError,\n    layoutIndex: number,\n  ) => Promise<Response>;\n  renderPageSpecialError: (specialError: AppPageSpecialError) => Promise<Response>;\n  renderToReadableStream: (\n    element: ReactNode | AppOutgoingElements,\n    options: { onError: AppPageBoundaryOnError },\n  ) => ReadableStream<Uint8Array>;\n  routeHasLocalBoundary: boolean;\n  routePattern: string;\n  runWithSuppressedHookWarning<T>(probe: () => Promise<T>): Promise<T>;\n  scriptNonce?: string;\n  mountedSlotsHeader?: string | null;\n  renderMode?: AppRscRenderMode;\n  waitUntil?: (promise: Promise<void>) => void;\n  element: ReactNode | Readonly<Record<string, ReactNode>>;\n  classification?: LayoutClassificationOptions | null;\n};\n\nfunction buildResponseTiming(\n  options: Pick<RenderAppPageLifecycleOptions, \"handlerStart\" | \"isProduction\"> & {\n    compileEnd?: number;\n    renderEnd?: number;\n    responseKind: AppPageResponseTiming[\"responseKind\"];\n  },\n): AppPageResponseTiming | undefined {\n  if (options.isProduction) {\n    return undefined;\n  }\n\n  return {\n    compileEnd: options.compileEnd,\n    handlerStart: options.handlerStart,\n    renderEnd: options.renderEnd,\n    responseKind: options.responseKind,\n  };\n}\n\nfunction readRequestCacheLifeForPrerender(\n  options: Pick<RenderAppPageLifecycleOptions, \"getRequestCacheLife\" | \"peekRequestCacheLife\">,\n): AppPageRequestCacheLife | null {\n  // Prefer the non-destructive reader so prerender.ts can consume metadata\n  // after the handler returns. The consume fallback supports older entry glue\n  // and is only safe because this path reads at most once per prerender.\n  return options.peekRequestCacheLife?.() ?? options.getRequestCacheLife();\n}\n\nfunction applyRequestCacheLife(options: {\n  expireSeconds?: number;\n  requestCacheLife: AppPageRequestCacheLife | null;\n  revalidateSeconds: number | null;\n}): { expireSeconds?: number; revalidateSeconds: number | null } {\n  let revalidateSeconds = options.revalidateSeconds;\n  let expireSeconds = options.expireSeconds;\n  const requestCacheLife = options.requestCacheLife;\n\n  if (requestCacheLife?.revalidate !== undefined) {\n    revalidateSeconds =\n      revalidateSeconds === null\n        ? requestCacheLife.revalidate\n        : Math.min(revalidateSeconds, requestCacheLife.revalidate);\n  }\n  if (requestCacheLife?.expire !== undefined) {\n    // cacheLife() supplies the effective hard-expire ceiling for this render,\n    // so it replaces the config fallback instead of min-merging with it.\n    expireSeconds = requestCacheLife.expire;\n  }\n\n  return { expireSeconds, revalidateSeconds };\n}\n\nfunction readRootBoundaryId(element: Readonly<Record<string, unknown>>): string | null {\n  const rootLayoutTreePath = element[AppElementsWire.keys.rootLayout];\n  return typeof rootLayoutTreePath === \"string\" ? rootLayoutTreePath : null;\n}\n\nfunction createAppPageArtifactCompatibility(\n  element: ReactNode | Readonly<Record<string, ReactNode>>,\n  routePattern: string,\n): ArtifactCompatibilityEnvelope | undefined {\n  if (!isAppElementsRecord(element)) {\n    return undefined;\n  }\n\n  const rootBoundaryId = readRootBoundaryId(element);\n  return createArtifactCompatibilityEnvelope({\n    graphVersion: createArtifactCompatibilityGraphVersion({\n      routePattern,\n      rootBoundaryId,\n    }),\n    deploymentVersion: process.env.__VINEXT_BUILD_ID ?? null,\n    rootBoundaryId,\n  });\n}\n\n/**\n * Wraps an RSC response body to report invalid dynamic usage errors after the\n * stream is fully consumed. In dev mode, errors from cookies()/headers() inside\n * \"use cache\" may be caught by user try/catch and silently swallowed — this\n * wrapper waits for the stream to drain and surfaces any recorded error to the\n * terminal (and, via HMR, the browser dev overlay).\n * Ported from Next.js: https://github.com/vercel/next.js/commit/f5e54c06726b571a042fce67417e40a29f6b8689\n */\nfunction wrapRscResponseForDevErrorReporting(\n  response: Response,\n  consumeInvalidDynamicUsageError: () => unknown,\n): Response {\n  const originalBody = response.body;\n  if (!originalBody) return response;\n\n  let consumed = false;\n  const onConsumed = () => {\n    if (consumed) return;\n    consumed = true;\n    const error = consumeInvalidDynamicUsageError();\n    if (error) {\n      console.error(\"[vinext] Invalid dynamic usage:\", error);\n    }\n  };\n\n  const cleanup = new TransformStream<Uint8Array, Uint8Array>({\n    flush() {\n      onConsumed();\n    },\n  });\n\n  const piped = originalBody.pipeThrough(cleanup);\n  const reader = piped.getReader();\n  const wrappedStream = new ReadableStream<Uint8Array>({\n    pull(controller) {\n      return reader.read().then(\n        ({ done, value }) => {\n          if (done) {\n            controller.close();\n          } else {\n            controller.enqueue(value);\n          }\n        },\n        (streamError) => {\n          onConsumed();\n          controller.error(streamError);\n        },\n      );\n    },\n    cancel(reason) {\n      onConsumed();\n      return reader.cancel(reason);\n    },\n  });\n\n  return new Response(wrappedStream, {\n    status: response.status,\n    statusText: response.statusText,\n    headers: response.headers,\n  });\n}\n\nexport async function renderAppPageLifecycle(\n  options: RenderAppPageLifecycleOptions,\n): Promise<Response> {\n  const preRenderResult = await probeAppPageBeforeRender({\n    hasLoadingBoundary: options.hasLoadingBoundary,\n    layoutCount: options.layoutCount,\n    probeLayoutAt(layoutIndex) {\n      return options.probeLayoutAt(layoutIndex);\n    },\n    probePage() {\n      return options.probePage();\n    },\n    renderLayoutSpecialError(specialError, layoutIndex) {\n      return options.renderLayoutSpecialError(specialError, layoutIndex);\n    },\n    renderPageSpecialError(specialError) {\n      return options.renderPageSpecialError(specialError);\n    },\n    resolveSpecialError: resolveAppPageSpecialError,\n    runWithSuppressedHookWarning(probe) {\n      return options.runWithSuppressedHookWarning(probe);\n    },\n    classification: options.classification,\n  });\n  if (preRenderResult.response) {\n    return preRenderResult.response;\n  }\n\n  const layoutFlags = preRenderResult.layoutFlags;\n\n  // Render the CANONICAL element. The outgoing payload carries per-layout\n  // static/dynamic flags under `__layoutFlags` so the client can later tell\n  // which layouts are safe to skip on subsequent navigations.\n  const artifactCompatibility = createAppPageArtifactCompatibility(\n    options.element,\n    options.routePattern,\n  );\n  const outgoingElement = AppElementsWire.encodeOutgoingPayload({\n    element: options.element,\n    layoutFlags,\n    ...(artifactCompatibility ? { artifactCompatibility } : {}),\n  });\n\n  const compileEnd = options.isProduction ? undefined : performance.now();\n  const baseOnError = options.createRscOnErrorHandler(options.cleanPathname, options.routePattern);\n  const rscErrorTracker = createAppPageRscErrorTracker(baseOnError);\n  // Defensive wrap for standalone callers. In the normal dispatch path this is\n  // a no-op since dispatchAppPage already activated dedupe. Note that\n  // renderToReadableStream returns synchronously — the actual fetch calls\n  // happen later during async stream consumption — so the dedupe map a\n  // standalone call would establish here is only effective if the caller has\n  // an outer runWithRequestContext / runWithFetchDedupe scope keeping the ALS\n  // store alive across that consumption.\n  const rscStream = runWithFetchDedupe(() =>\n    options.renderToReadableStream(outgoingElement, {\n      onError: rscErrorTracker.onRenderError,\n    }),\n  );\n\n  let revalidateSeconds = options.revalidateSeconds;\n  let expireSeconds = options.expireSeconds;\n  const shouldCaptureRscForCacheMetadata =\n    options.isProgressiveActionRender !== true &&\n    (options.isProduction || options.isPrerender === true) &&\n    (revalidateSeconds === null || (revalidateSeconds > 0 && revalidateSeconds !== Infinity)) &&\n    !options.isDraftMode &&\n    !options.isForceDynamic;\n  const rscCapture = teeAppPageRscStreamForCapture(rscStream, shouldCaptureRscForCacheMetadata);\n  const rscForResponse = rscCapture.ssrStream;\n\n  // When the fused tee (#981) is active, the sideStream carries both the embed\n  // transform AND the raw RSC byte accumulation. For RSC requests, we consume\n  // the sideStream directly. For HTML requests, handleSsr creates an embed\n  // transform from it and fills capturedRscDataRef. The ref object is threaded\n  // through so .value is read lazily after handleSsr completes.\n  const capturedRscDataRef: { value: Promise<ArrayBuffer> | null } = { value: null };\n  if (rscCapture.sideStream && options.isRscRequest) {\n    capturedRscDataRef.value = readAppPageBinaryStream(rscCapture.sideStream);\n  }\n\n  if (options.isRscRequest) {\n    if (options.isPrerender === true) {\n      await settleCapturedRscRenderForCacheMetadata(capturedRscDataRef.value);\n      ({ expireSeconds, revalidateSeconds } = applyRequestCacheLife({\n        expireSeconds,\n        requestCacheLife: readRequestCacheLifeForPrerender(options),\n        revalidateSeconds,\n      }));\n    }\n\n    const dynamicUsedDuringBuild = options.consumeDynamicUsage();\n    const rscResponsePolicy = resolveAppPageRscResponsePolicy({\n      dynamicUsedDuringBuild,\n      isDraftMode: options.isDraftMode,\n      isDynamicError: options.isDynamicError,\n      isForceDynamic: options.isForceDynamic,\n      isForceStatic: options.isForceStatic,\n      isProduction: options.isProduction,\n      expireSeconds,\n      revalidateSeconds,\n    });\n    const rscResponse = buildAppPageRscResponse(rscForResponse, {\n      middlewareContext: options.middlewareContext,\n      mountedSlotsHeader: options.mountedSlotsHeader,\n      params: options.params,\n      policy: rscResponsePolicy,\n      timing: buildResponseTiming({\n        compileEnd,\n        handlerStart: options.handlerStart,\n        isProduction: options.isProduction,\n        responseKind: \"rsc\",\n      }),\n    });\n\n    // In dev mode, wrap the RSC response body to forward invalid dynamic usage\n    // errors after the stream is consumed. This mirrors Next.js behavior where\n    // workStore.invalidDynamicUsageError is checked after the accumulated chunks\n    // promise resolves (app-render.tsx generateDynamicFlightRenderResultWithStagesInDev).\n    // Ported from Next.js: https://github.com/vercel/next.js/commit/f5e54c06726b571a042fce67417e40a29f6b8689\n    //\n    // Note: This only covers RSC responses (client-side navigations). The HTML path\n    // (initial page loads) intentionally defers this coverage — the error is still\n    // thrown through the RSC pipeline and captured by rscErrorTracker.onRenderError\n    // if uncaught by user code. Full parity with Next.js would require checking\n    // invalidDynamicUsageError after SSR rendering, which is deferred as out of scope\n    // for this PR focused on client-side navigations.\n    const devRscResponse =\n      !options.isProduction && rscResponse.body && options.consumeInvalidDynamicUsageError\n        ? wrapRscResponseForDevErrorReporting(rscResponse, options.consumeInvalidDynamicUsageError)\n        : rscResponse;\n\n    return finalizeAppPageRscCacheResponse(devRscResponse, {\n      capturedRscDataPromise:\n        options.isProduction && shouldCaptureRscForCacheMetadata ? capturedRscDataRef.value : null,\n      cleanPathname: options.cleanPathname,\n      consumeDynamicUsage: options.consumeDynamicUsage,\n      dynamicUsedDuringBuild,\n      getPageTags() {\n        return options.getPageTags();\n      },\n      getRequestCacheLife() {\n        return options.getRequestCacheLife();\n      },\n      isrDebug: options.isrDebug,\n      isrRscKey: options.isrRscKey,\n      isrSet: options.isrSet,\n      mountedSlotsHeader: options.mountedSlotsHeader,\n      renderMode: options.renderMode,\n      preserveClientResponseHeaders: rscResponsePolicy.cacheState !== \"MISS\",\n      expireSeconds,\n      revalidateSeconds,\n      waitUntil(promise) {\n        options.waitUntil?.(promise);\n      },\n    });\n  }\n\n  const fontData = createAppPageFontData({\n    getLinks: options.getFontLinks,\n    getPreloads: options.getFontPreloads,\n    getStyles: options.getFontStyles,\n  });\n  const fontLinkHeader = buildAppPageFontLinkHeader(fontData.preloads);\n  let renderEnd: number | undefined;\n\n  const htmlRender = await renderAppPageHtmlStreamWithRecovery({\n    onShellRendered() {\n      if (!options.isProduction) {\n        renderEnd = performance.now();\n      }\n    },\n    renderErrorBoundaryResponse(error) {\n      return options.renderErrorBoundaryResponse(error);\n    },\n    async renderHtmlStream() {\n      const ssrHandler = await options.loadSsrHandler();\n      return renderAppPageHtmlStream({\n        capturedRscDataRef,\n        fontData,\n        navigationContext: options.getNavigationContext(),\n        formState: options.formState ?? null,\n        rscStream: rscForResponse,\n        scriptNonce: options.scriptNonce,\n        sideStream: rscCapture.sideStream,\n        ssrHandler,\n        waitForAllReady: options.isPrerender,\n      });\n    },\n    renderSpecialErrorResponse(specialError) {\n      return options.renderPageSpecialError(specialError);\n    },\n    resolveSpecialError: resolveAppPageSpecialError,\n  });\n  if (htmlRender.response) {\n    return htmlRender.response;\n  }\n  const htmlStream = htmlRender.htmlStream;\n  if (!htmlStream) {\n    throw new Error(\"[vinext] Expected an HTML stream when no fallback response was returned\");\n  }\n\n  // Routes with a route-level Suspense boundary (loading.tsx) skip the page\n  // probe — the page render happens once, inside the RSC stream. Mirror\n  // Next.js's `app-render.tsx:4293` catch shape: by the time the SSR shell\n  // promise has resolved, any redirect()/notFound() throw whose async work\n  // settles in microtasks during shell rendering has already fired through\n  // React's onError and been captured by the tracker. Convert that to a\n  // 307/404 before any bytes are flushed.\n  //\n  // Late rejections — ones that settle after macrotask boundaries (real\n  // I/O, setTimeout, etc.) — fall through to the streamed body, exactly\n  // as Next.js does. The digest survives in the Flight payload for the\n  // client router to consume.\n  if (options.hasLoadingBoundary) {\n    const captured = rscErrorTracker.getCapturedSpecialError();\n    if (captured) {\n      const specialError = resolveAppPageSpecialError(captured);\n      if (specialError) {\n        void htmlStream.cancel().catch(() => {});\n        return options.renderPageSpecialError(specialError);\n      }\n    }\n  }\n\n  if (\n    shouldRerenderAppPageWithGlobalError({\n      capturedError: rscErrorTracker.getCapturedError(),\n      hasLocalBoundary: options.routeHasLocalBoundary,\n    })\n  ) {\n    const cleanResponse = await options.renderErrorBoundaryResponse(\n      rscErrorTracker.getCapturedError(),\n    );\n    if (cleanResponse) {\n      return cleanResponse;\n    }\n  }\n\n  // Eagerly read values that must be captured before the stream is consumed.\n  if (options.isPrerender === true) {\n    await settleCapturedRscRenderForCacheMetadata(capturedRscDataRef.value);\n    ({ expireSeconds, revalidateSeconds } = applyRequestCacheLife({\n      expireSeconds,\n      requestCacheLife: readRequestCacheLifeForPrerender(options),\n      revalidateSeconds,\n    }));\n  }\n  const draftCookie = options.getDraftModeCookieHeader();\n  const dynamicUsedDuringRender = options.consumeDynamicUsage();\n  let dynamicUsedBeforeContextCleanup = dynamicUsedDuringRender;\n\n  // Defer clearRequestContext() until the HTML stream is fully consumed by the\n  // HTTP layer. The RSC/SSR pipeline is lazy — Server Components execute while\n  // the response body is being pulled, not when the stream handle is returned.\n  // Clearing the context synchronously here would race those executions, causing\n  // headers()/cookies() to see a null context on warm (module-cached) requests.\n  // See: https://github.com/cloudflare/vinext/issues/660\n  const safeHtmlStream = deferUntilStreamConsumed(htmlStream, () => {\n    dynamicUsedBeforeContextCleanup =\n      dynamicUsedBeforeContextCleanup || options.consumeDynamicUsage();\n    options.clearRequestContext();\n  });\n\n  const htmlResponsePolicy = resolveAppPageHtmlResponsePolicy({\n    dynamicUsedDuringRender,\n    isProgressiveActionRender: options.isProgressiveActionRender === true,\n    hasScriptNonce: Boolean(options.scriptNonce),\n    isDraftMode: options.isDraftMode,\n    isDynamicError: options.isDynamicError,\n    isForceDynamic: options.isForceDynamic,\n    isForceStatic: options.isForceStatic,\n    isProduction: options.isProduction,\n    expireSeconds,\n    revalidateSeconds,\n  });\n  const htmlResponseTiming = buildResponseTiming({\n    compileEnd,\n    handlerStart: options.handlerStart,\n    isProduction: options.isProduction,\n    renderEnd,\n    responseKind: \"html\",\n  });\n\n  const shouldSpeculativelyWriteCache =\n    options.isProduction &&\n    shouldCaptureRscForCacheMetadata &&\n    revalidateSeconds === null &&\n    !options.isDynamicError &&\n    !options.isForceStatic &&\n    !options.scriptNonce &&\n    options.isProgressiveActionRender !== true &&\n    !dynamicUsedDuringRender;\n\n  if (htmlResponsePolicy.shouldWriteToCache || shouldSpeculativelyWriteCache) {\n    const isrResponse = buildAppPageHtmlResponse(safeHtmlStream, {\n      draftCookie,\n      fontLinkHeader,\n      middlewareContext: options.middlewareContext,\n      policy: htmlResponsePolicy,\n      timing: htmlResponseTiming,\n    });\n\n    if (options.isPrerender === true) {\n      return isrResponse;\n    }\n\n    return finalizeAppPageHtmlCacheResponse(isrResponse, {\n      capturedDynamicUsageBeforeContextCleanup() {\n        return dynamicUsedBeforeContextCleanup;\n      },\n      capturedRscDataPromise: capturedRscDataRef.value,\n      cleanPathname: options.cleanPathname,\n      consumeDynamicUsage: options.consumeDynamicUsage,\n      getPageTags() {\n        return options.getPageTags();\n      },\n      getRequestCacheLife() {\n        return options.getRequestCacheLife();\n      },\n      isrDebug: options.isrDebug,\n      isrHtmlKey: options.isrHtmlKey,\n      isrRscKey: options.isrRscKey,\n      isrSet: options.isrSet,\n      preserveClientResponseHeaders: !htmlResponsePolicy.shouldWriteToCache,\n      expireSeconds,\n      revalidateSeconds,\n      waitUntil(cachePromise) {\n        options.waitUntil?.(cachePromise);\n      },\n    });\n  }\n\n  return buildAppPageHtmlResponse(safeHtmlStream, {\n    draftCookie,\n    fontLinkHeader,\n    middlewareContext: options.middlewareContext,\n    policy: htmlResponsePolicy,\n    timing: htmlResponseTiming,\n  });\n}\n\nasync function settleCapturedRscRenderForCacheMetadata(\n  capturedRscDataPromise: Promise<ArrayBuffer> | null,\n): Promise<void> {\n  if (!capturedRscDataPromise) {\n    return;\n  }\n\n  try {\n    await capturedRscDataPromise;\n  } catch {\n    // The response stream and cache-write path own render error propagation.\n    // This pre-read only makes \"use cache\" metadata available before headers\n    // and ISR seed metadata are finalized.\n  }\n}\n"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit