mirror of
https://github.com/withastro/astro.git
synced 2025-01-20 22:12:38 -05:00
[ci] format
This commit is contained in:
parent
ad2bb91559
commit
a44a7a9809
2 changed files with 12 additions and 5 deletions
|
@ -43,7 +43,7 @@ export interface RenderErrorOptions {
|
|||
status: 404 | 500;
|
||||
/**
|
||||
* Whether to skip onRequest() while rendering the error page. Defaults to false.
|
||||
*/
|
||||
*/
|
||||
skipMiddleware?: boolean;
|
||||
}
|
||||
|
||||
|
@ -256,7 +256,10 @@ export class App {
|
|||
* If it is a known error code, try sending the according page (e.g. 404.astro / 500.astro).
|
||||
* This also handles pre-rendered /404 or /500 routes
|
||||
*/
|
||||
async #renderError(request: Request, { status, response: originalResponse, skipMiddleware = false }: RenderErrorOptions): Promise<Response> {
|
||||
async #renderError(
|
||||
request: Request,
|
||||
{ status, response: originalResponse, skipMiddleware = false }: RenderErrorOptions
|
||||
): Promise<Response> {
|
||||
const errorRouteData = matchRoute('/' + status, this.#manifestData);
|
||||
const url = new URL(request.url);
|
||||
if (errorRouteData) {
|
||||
|
@ -296,7 +299,11 @@ export class App {
|
|||
} catch {
|
||||
// Middleware may be the cause of the error, so we try rendering 404/500.astro without it.
|
||||
if (skipMiddleware === false && mod.onRequest) {
|
||||
return this.#renderError(request, { status, response: originalResponse, skipMiddleware: true });
|
||||
return this.#renderError(request, {
|
||||
status,
|
||||
response: originalResponse,
|
||||
skipMiddleware: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -222,12 +222,12 @@ describe('Middleware API in PROD mode, SSR', () => {
|
|||
it('should render 500.astro when the middleware throws an error', async () => {
|
||||
const request = new Request('http://example.com/throw');
|
||||
const routeData = app.match(request, { matchNotFound: true });
|
||||
|
||||
|
||||
const response = await app.render(request, routeData);
|
||||
expect(response).to.deep.include({ status: 500 });
|
||||
|
||||
const text = await response.text();
|
||||
expect(text).to.include("<h1>There was an error rendering the page.</h1>")
|
||||
expect(text).to.include('<h1>There was an error rendering the page.</h1>');
|
||||
});
|
||||
|
||||
it('the integration should receive the path to the middleware', async () => {
|
||||
|
|
Loading…
Add table
Reference in a new issue