createMiddleware() — astro Function Reference
Architecture documentation for the createMiddleware() function in middleware.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 63b70b5f_82ce_e31a_e49a_ed6696124503["createMiddleware()"] f7144460_0a42_f3e4_9276_46af39d36dba["middleware.ts"] 63b70b5f_82ce_e31a_e49a_ed6696124503 -->|defined in| f7144460_0a42_f3e4_9276_46af39d36dba style 63b70b5f_82ce_e31a_e49a_ed6696124503 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/integrations/node/src/middleware.ts lines 13–41
export default function createMiddleware(app: NodeApp, options: Options): RequestHandler {
const handler = createAppHandler(app, options);
const logger = app.getAdapterLogger();
// using spread args because express trips up if the function's
// stringified body includes req, res, next, locals directly
return async (...args) => {
// assume normal invocation at first
const [req, res, next, locals] = args;
// short circuit if it is an error invocation
if (req instanceof Error) {
const error = req;
if (next) {
return next(error);
} else {
throw error;
}
}
try {
await handler(req, res, next, locals);
} catch (err) {
logger.error(`Could not render ${req.url}`);
console.error(err);
if (!res.headersSent) {
res.writeHead(500, `Server error`);
res.end();
}
}
};
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does createMiddleware() do?
createMiddleware() is a function in the astro codebase, defined in packages/integrations/node/src/middleware.ts.
Where is createMiddleware() defined?
createMiddleware() is defined in packages/integrations/node/src/middleware.ts at line 13.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free