diff options
author | 2021-04-23 15:20:19 -0400 | |
---|---|---|
committer | 2021-04-23 15:20:19 -0400 | |
commit | 62ddea7bb7cb91fb5091daec4ed4709742d3c123 (patch) | |
tree | 104ea208341a386d484a3663a6feb15931333027 /src | |
parent | 3ffeb0f7b7b16f8a0939a1ae80be90cccbd98579 (diff) | |
download | astro-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.ts | 15 |
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: { |