| Server IP : 13.235.167.51 / Your IP : 216.73.217.116 Web Server : Apache System : Linux machinox-server 6.17.0-1013-aws #13~24.04.1-Ubuntu SMP Fri Apr 24 21:36:58 UTC 2026 aarch64 User : root ( 0) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/control.machinox.in/node_modules/next/dist/esm/server/dev/ |
Upload File : |
{"version":3,"sources":["../../../../src/server/dev/log-requests.ts"],"sourcesContent":["import { hrtimeBigIntDurationToString } from '../../build/duration-to-string'\nimport {\n blue,\n bold,\n gray,\n green,\n red,\n white,\n yellow,\n dim,\n} from '../../lib/picocolors'\nimport { stripNextRscUnionQuery } from '../../lib/url'\nimport type { FetchMetric } from '../base-http'\nimport type { NodeNextRequest, NodeNextResponse } from '../base-http/node'\nimport type { LoggingConfig } from '../config-shared'\nimport { getRequestMeta } from '../request-meta'\n\n/**\n * Returns true if the incoming request should be ignored for logging.\n */\nexport function ignoreLoggingIncomingRequests(\n request: NodeNextRequest,\n loggingConfig: LoggingConfig | undefined\n): boolean {\n // If it's boolean use the boolean value\n if (typeof loggingConfig?.incomingRequests === 'boolean') {\n return !loggingConfig.incomingRequests\n }\n\n // Any of the value on the chain is falsy, will not ignore the request.\n const ignore = loggingConfig?.incomingRequests?.ignore\n\n // If ignore is not set, don't ignore anything\n if (!ignore) {\n return false\n }\n\n // If array of RegExp, ignore if any pattern matches\n return ignore.some((pattern) => pattern.test(request.url))\n}\n\nexport function logRequests(\n request: NodeNextRequest,\n response: NodeNextResponse,\n loggingConfig: LoggingConfig,\n requestStartTime: bigint,\n requestEndTime: bigint,\n devRequestTimingMiddlewareStart: bigint | undefined,\n devRequestTimingMiddlewareEnd: bigint | undefined,\n devRequestTimingInternalsEnd: bigint | undefined,\n devGenerateStaticParamsDuration: bigint | undefined\n): void {\n if (!ignoreLoggingIncomingRequests(request, loggingConfig)) {\n logIncomingRequests(\n request,\n requestStartTime,\n requestEndTime,\n response.statusCode,\n devRequestTimingMiddlewareStart,\n devRequestTimingMiddlewareEnd,\n devRequestTimingInternalsEnd,\n devGenerateStaticParamsDuration\n )\n }\n\n if (request.fetchMetrics) {\n for (const fetchMetric of request.fetchMetrics) {\n logFetchMetric(fetchMetric, loggingConfig)\n }\n }\n}\n\nfunction logIncomingRequests(\n request: NodeNextRequest,\n requestStartTime: bigint,\n requestEndTime: bigint,\n statusCode: number,\n devRequestTimingMiddlewareStart: bigint | undefined,\n devRequestTimingMiddlewareEnd: bigint | undefined,\n devRequestTimingInternalsEnd: bigint | undefined,\n devGenerateStaticParamsDuration: bigint | undefined\n): void {\n const isRSC = getRequestMeta(request, 'isRSCRequest')\n const url = isRSC ? stripNextRscUnionQuery(request.url) : request.url\n\n const statusCodeColor =\n statusCode < 200\n ? white\n : statusCode < 300\n ? green\n : statusCode < 400\n ? blue\n : statusCode < 500\n ? yellow\n : red\n\n const coloredStatus = statusCodeColor(statusCode.toString())\n\n const totalRequestTime = requestEndTime - requestStartTime\n\n const times: Array<[label: string, time: bigint]> = []\n\n let middlewareTime: bigint | undefined\n if (devRequestTimingMiddlewareStart && devRequestTimingMiddlewareEnd) {\n middlewareTime =\n devRequestTimingMiddlewareEnd - devRequestTimingMiddlewareStart\n times.push(['proxy.ts', middlewareTime])\n }\n\n if (devRequestTimingInternalsEnd) {\n let frameworkTime = devRequestTimingInternalsEnd - requestStartTime\n\n /* Middleware runs during the internals so we have to subtract it from the framework time */\n if (middlewareTime) {\n frameworkTime -= middlewareTime\n }\n // Insert as the first item to be rendered in the list\n times.unshift(['compile', frameworkTime])\n\n // Insert after compile, before render based on the execution order.\n if (devGenerateStaticParamsDuration) {\n // Pages Router getStaticPaths are technically \"generate params\" as well.\n times.push(['generate-params', devGenerateStaticParamsDuration])\n }\n\n times.push(['render', requestEndTime - devRequestTimingInternalsEnd])\n }\n\n return writeLine(\n `${request.method} ${url} ${coloredStatus} in ${hrtimeBigIntDurationToString(totalRequestTime)}${times.length > 0 ? dim(` (${times.map(([label, time]) => `${label}: ${hrtimeBigIntDurationToString(time)}`).join(', ')})`) : ''}`\n )\n}\n\nfunction logFetchMetric(\n fetchMetric: FetchMetric,\n loggingConfig: LoggingConfig | undefined\n): void {\n let {\n cacheReason,\n cacheStatus,\n cacheWarning,\n end,\n method,\n start,\n status,\n url,\n } = fetchMetric\n\n if (cacheStatus === 'hmr' && !loggingConfig?.fetches?.hmrRefreshes) {\n // Cache hits during HMR refreshes are intentionally not logged, unless\n // explicitly enabled in the logging config.\n return\n }\n\n if (loggingConfig?.fetches) {\n if (url.length > 48 && !loggingConfig.fetches.fullUrl) {\n url = truncateUrl(url)\n }\n\n writeLine(\n white(\n `${method} ${url} ${status} in ${Math.round(end - start)}ms ${formatCacheStatus(cacheStatus)}`\n ),\n 1\n )\n\n if (cacheStatus === 'skip' || cacheStatus === 'miss') {\n writeLine(\n gray(\n `Cache ${cacheStatus === 'skip' ? 'skipped' : 'missed'} reason: (${white(cacheReason)})`\n ),\n 2\n )\n }\n } else if (cacheWarning) {\n // When logging for fetches is not enabled, we still want to print any\n // associated warnings, so we print the request first to provide context.\n writeLine(white(`${method} ${url}`), 1)\n }\n\n if (cacheWarning) {\n writeLine(`${yellow(bold('⚠'))} ${white(cacheWarning)}`, 2)\n }\n}\n\nfunction writeLine(text: string, indentationLevel = 0): void {\n process.stdout.write(` ${'│ '.repeat(indentationLevel)}${text}\\n`)\n}\n\nfunction truncate(text: string, maxLength: number): string {\n return maxLength !== undefined && text.length > maxLength\n ? text.substring(0, maxLength) + '..'\n : text\n}\n\nfunction truncateUrl(url: string): string {\n const { protocol, host, pathname, search } = new URL(url)\n\n return (\n protocol +\n '//' +\n truncate(host, 16) +\n truncate(pathname, 24) +\n truncate(search, 16)\n )\n}\n\nfunction formatCacheStatus(cacheStatus: FetchMetric['cacheStatus']): string {\n switch (cacheStatus) {\n case 'hmr':\n return green('(HMR cache)')\n case 'hit':\n return green('(cache hit)')\n case 'miss':\n case 'skip':\n return yellow(`(cache ${cacheStatus})`)\n default:\n return cacheStatus satisfies never\n }\n}\n"],"names":["hrtimeBigIntDurationToString","blue","bold","gray","green","red","white","yellow","dim","stripNextRscUnionQuery","getRequestMeta","ignoreLoggingIncomingRequests","request","loggingConfig","incomingRequests","ignore","some","pattern","test","url","logRequests","response","requestStartTime","requestEndTime","devRequestTimingMiddlewareStart","devRequestTimingMiddlewareEnd","devRequestTimingInternalsEnd","devGenerateStaticParamsDuration","logIncomingRequests","statusCode","fetchMetrics","fetchMetric","logFetchMetric","isRSC","statusCodeColor","coloredStatus","toString","totalRequestTime","times","middlewareTime","push","frameworkTime","unshift","writeLine","method","length","map","label","time","join","cacheReason","cacheStatus","cacheWarning","end","start","status","fetches","hmrRefreshes","fullUrl","truncateUrl","Math","round","formatCacheStatus","text","indentationLevel","process","stdout","write","repeat","truncate","maxLength","undefined","substring","protocol","host","pathname","search","URL"],"mappings":"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","ignoreList":[0]}