summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@matthewphillips.info> 2021-04-23 15:20:19 -0400
committerGravatar GitHub <noreply@github.com> 2021-04-23 15:20:19 -0400
commit62ddea7bb7cb91fb5091daec4ed4709742d3c123 (patch)
tree104ea208341a386d484a3663a6feb15931333027 /src
parent3ffeb0f7b7b16f8a0939a1ae80be90cccbd98579 (diff)
downloadastro-62ddea7bb7cb91fb5091daec4ed4709742d3c123.tar.gz
astro-62ddea7bb7cb91fb5091daec4ed4709742d3c123.tar.zst
astro-62ddea7bb7cb91fb5091daec4ed4709742d3c123.zip
Support the /404 route in the dev server (#128)
* Support the /404 route in the dev server * Fix status code * Formatting
Diffstat (limited to 'src')
-rw-r--r--src/dev.ts15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/dev.ts b/src/dev.ts
index c20d9c723..505a99425 100644
--- a/src/dev.ts
+++ b/src/dev.ts
@@ -34,6 +34,7 @@ export default async function dev(astroConfig: AstroConfig) {
if (result.contentType) {
res.setHeader('Content-Type', result.contentType);
}
+ res.statusCode = 200;
res.write(result.contents);
res.end();
break;
@@ -43,8 +44,18 @@ export default async function dev(astroConfig: AstroConfig) {
const reqPath = decodeURI(fullurl.pathname);
error(logging, 'static', 'Not found', reqPath);
res.statusCode = 404;
- res.setHeader('Content-Type', 'text/plain');
- res.end('Not Found');
+
+ const fourOhFourResult = await runtime.load('/404');
+ if (fourOhFourResult.statusCode === 200) {
+ if (fourOhFourResult.contentType) {
+ res.setHeader('Content-Type', fourOhFourResult.contentType);
+ }
+ res.write(fourOhFourResult.contents);
+ } else {
+ res.setHeader('Content-Type', 'text/plain');
+ res.write('Not Found');
+ }
+ res.end();
break;
}
case 500: {