summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/src')
-rw-r--r--packages/integrations/node/src/middleware.ts7
-rw-r--r--packages/integrations/node/src/server.ts4
-rw-r--r--packages/integrations/node/src/standalone.ts2
3 files changed, 7 insertions, 6 deletions
diff --git a/packages/integrations/node/src/middleware.ts b/packages/integrations/node/src/middleware.ts
index bfa7b74d5..1af4539a6 100644
--- a/packages/integrations/node/src/middleware.ts
+++ b/packages/integrations/node/src/middleware.ts
@@ -2,16 +2,17 @@ import type { NodeApp } from 'astro/app/node';
import type { IncomingMessage, ServerResponse } from 'http';
import type { Readable } from 'stream';
import { responseIterator } from './response-iterator';
+import type { Options } from './types';
-export default function (app: NodeApp) {
+export default function (app: NodeApp, mode: Options['mode']) {
return async function (
req: IncomingMessage,
res: ServerResponse,
next?: (err?: unknown) => void
) {
try {
- const route = app.match(req);
-
+ const route =
+ mode === 'standalone' ? app.match(req, { matchNotFound: true }) : app.match(req);
if (route) {
try {
const response = await app.render(req);
diff --git a/packages/integrations/node/src/server.ts b/packages/integrations/node/src/server.ts
index 9cff04cf5..e0ccf6599 100644
--- a/packages/integrations/node/src/server.ts
+++ b/packages/integrations/node/src/server.ts
@@ -9,10 +9,10 @@ polyfill(globalThis, {
exclude: 'window document',
});
-export function createExports(manifest: SSRManifest) {
+export function createExports(manifest: SSRManifest, options: Options) {
const app = new NodeApp(manifest);
return {
- handler: middleware(app),
+ handler: middleware(app, options.mode),
};
}
diff --git a/packages/integrations/node/src/standalone.ts b/packages/integrations/node/src/standalone.ts
index 54a3940b4..d68c3a500 100644
--- a/packages/integrations/node/src/standalone.ts
+++ b/packages/integrations/node/src/standalone.ts
@@ -37,7 +37,7 @@ export function getResolvedHostForHttpServer(host: string | boolean) {
export default function startServer(app: NodeApp, options: Options) {
const port = process.env.PORT ? Number(process.env.PORT) : options.port ?? 8080;
const { client } = resolvePaths(options);
- const handler = middleware(app);
+ const handler = middleware(app, options.mode);
// Allow to provide host value at runtime
const host = getResolvedHostForHttpServer(