0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-02-17 22:44:24 -05:00

[ci] format

This commit is contained in:
ematipico 2023-08-17 08:37:38 +00:00 committed by astrobot-houston
parent dff0f0f8dd
commit 2145960472
3 changed files with 34 additions and 31 deletions

View file

@ -287,13 +287,16 @@ export class App {
const url = new URL(request.url);
if (errorRouteData) {
if (errorRouteData.prerender) {
const maybeDotHtml = errorRouteData.route.endsWith(`/${status}`) ? '.html' : ''
const statusURL = new URL(`${this.#baseWithoutTrailingSlash}/${status}${maybeDotHtml}`, url);
const maybeDotHtml = errorRouteData.route.endsWith(`/${status}`) ? '.html' : '';
const statusURL = new URL(
`${this.#baseWithoutTrailingSlash}/${status}${maybeDotHtml}`,
url
);
const response = await fetch(statusURL.toString());
// response for /404.html and 500.html is 200, which is not meaningful
// so we create an override
const override = { status }
const override = { status };
return this.#mergeResponses(response, originalResponse, override);
}
@ -328,8 +331,8 @@ export class App {
return new Response(newResponse.body, {
status: override.status,
statusText: newResponse.statusText,
headers: newResponse.headers
})
headers: newResponse.headers,
});
}
return newResponse;
}
@ -339,10 +342,11 @@ export class App {
// If the the new response did not have a meaningful status, an override may have been provided
// If the original status was 200 (default), override it with the new status (probably 404 or 500)
// Otherwise, the user set a specific status while rendering and we should respect that one
const status =
override?.status ? override.status :
oldResponse.status === 200 ? newResponse.status :
oldResponse.status
const status = override?.status
? override.status
: oldResponse.status === 200
? newResponse.status
: oldResponse.status;
return new Response(newResponse.body, {
status,

View file

@ -341,7 +341,7 @@ async function cleanStaticOutput(opts: StaticBuildOptions, internals: BuildInter
// Replace exports (only prerendered pages) with a noop
let value = 'const noop = () => {};';
for (const e of exports) {
if (e.n === 'default') value += `\n export default noop;`
if (e.n === 'default') value += `\n export default noop;`;
else value += `\nexport const ${e.n} = noop;`;
}
await fs.promises.writeFile(url, value, { encoding: 'utf8' });

View file

@ -90,7 +90,7 @@ describe('Prerender 404', () => {
const html2 = await response2.text();
const html3 = await response3.text();
expect(html1).to.contain("Something went wrong");
expect(html1).to.contain('Something went wrong');
expect(html1).to.equal(html2);
expect(html2).to.equal(html3);
@ -104,7 +104,6 @@ describe('Prerender 404', () => {
// length will be 0 if the stylesheet does not get included
expect($('link[rel=stylesheet]')).to.have.a.lengthOf(1);
});
});
describe('Without base', async () => {
@ -143,7 +142,7 @@ describe('Prerender 404', () => {
});
it('Can handle prerendered 404', async () => {
const url = `http://${server.host}:${server.port}/some-base/missing`
const url = `http://${server.host}:${server.port}/some-base/missing`;
const res1 = await fetch(url);
const res2 = await fetch(url);
const res3 = await fetch(url);
@ -207,7 +206,7 @@ describe('Hybrid 404', () => {
});
it('Can handle prerendered 404', async () => {
const url = `http://${server.host}:${server.port}/some-base/missing`
const url = `http://${server.host}:${server.port}/some-base/missing`;
const res1 = await fetch(url);
const res2 = await fetch(url);
const res3 = await fetch(url);
@ -264,7 +263,7 @@ describe('Hybrid 404', () => {
});
it('Can handle prerendered 404', async () => {
const url = `http://${server.host}:${server.port}/missing`
const url = `http://${server.host}:${server.port}/missing`;
const res1 = await fetch(url);
const res2 = await fetch(url);
const res3 = await fetch(url);