Skip to content

Commit 3a9f44a

Browse files
committed
fix: 🐛 handled page rendering errors properly at initial load
Now returns nuanced error rather than blank 500, as subsequent loads do.
1 parent cb60be0 commit 3a9f44a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

packages/perseus-actix-web/src/initial_load.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use actix_web::{http::StatusCode, web, HttpRequest, HttpResponse};
44
use perseus::error_pages::ErrorPageData;
55
use perseus::router::{match_route, RouteInfo, RouteVerdict};
66
use perseus::{
7+
err_to_status_code,
78
serve::get_page_for_template_and_translator, ConfigManager, ErrorPages, SsrNode,
89
TranslationsManager, Translator,
910
};
@@ -127,8 +128,12 @@ pub async fn initial_load<C: ConfigManager, T: TranslationsManager>(
127128
.await;
128129
let page_data = match page_data {
129130
Ok(page_data) => page_data,
131+
// We parse the error to return an appropriate status code
130132
Err(err) => {
131-
return html_err(500, &err.to_string());
133+
return html_err(
134+
err_to_status_code(&err),
135+
&err.to_string()
136+
);
132137
}
133138
};
134139

0 commit comments

Comments
 (0)