serveRawFsMiddleware() — vite Function Reference
Architecture documentation for the serveRawFsMiddleware() function in static.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b["serveRawFsMiddleware()"] d91d6c8f_e2c2_3b92_12c3_391c9ba06183["static.ts"] 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b -->|defined in| d91d6c8f_e2c2_3b92_12c3_391c9ba06183 24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"] 24ecf2a1_3c09_d451_76f3_9485b4e993f8 -->|calls| 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b 449af0c1_44a5_1ad5_ce35_a183c1ef89e6["sirvOptions()"] 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b -->|calls| 449af0c1_44a5_1ad5_ce35_a183c1ef89e6 b785bb42_81b4_52a8_f27e_13aacc0eea06["decodeURIIfPossible()"] 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b -->|calls| b785bb42_81b4_52a8_f27e_13aacc0eea06 f06a4729_72a9_90d9_1358_3db737d66a6e["respondWithAccessDenied()"] 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b -->|calls| f06a4729_72a9_90d9_1358_3db737d66a6e style 0c4b83a7_ea4d_51f2_a018_23a3dcc25c7b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/server/middlewares/static.ts lines 201–243
export function serveRawFsMiddleware(
server: ViteDevServer,
): Connect.NextHandleFunction {
const serveFromRoot = sirv(
'/',
sirvOptions({
config: server.config,
getHeaders: () => server.config.server.headers,
}),
)
// Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...`
return function viteServeRawFsMiddleware(req, res, next) {
// In some cases (e.g. linked monorepos) files outside of root will
// reference assets that are also out of served root. In such cases
// the paths are rewritten to `/@fs/` prefixed paths and must be served by
// searching based from fs root.
if (req.url!.startsWith(FS_PREFIX)) {
const url = new URL(req.url!, 'http://example.com')
const pathname = decodeURIIfPossible(url.pathname)
if (pathname === undefined) {
return next()
}
let newPathname = pathname.slice(FS_PREFIX.length)
if (isWindows) newPathname = newPathname.replace(/^[A-Z]:/i, '')
url.pathname = encodeURI(newPathname)
req.url = url.href.slice(url.origin.length)
try {
serveFromRoot(req, res, next)
} catch (e) {
if (e && 'code' in e && e.code === ERR_DENIED_FILE) {
respondWithAccessDenied(e.path, server, res)
return
}
throw e
}
} else {
next()
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does serveRawFsMiddleware() do?
serveRawFsMiddleware() is a function in the vite codebase, defined in packages/vite/src/node/server/middlewares/static.ts.
Where is serveRawFsMiddleware() defined?
serveRawFsMiddleware() is defined in packages/vite/src/node/server/middlewares/static.ts at line 201.
What does serveRawFsMiddleware() call?
serveRawFsMiddleware() calls 3 function(s): decodeURIIfPossible, respondWithAccessDenied, sirvOptions.
What calls serveRawFsMiddleware()?
serveRawFsMiddleware() is called by 1 function(s): _createServer.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free