Skip to content

Commit a418fea

Browse files
jyn514Joshua Nelson
authored andcommitted
Fix double internal error
- Don't try to serve template that doesn't exist - Add backtrace of error in logs
1 parent ac33e2d commit a418fea

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ r2d2_postgres = "0.14"
2323
# url@2 for other usecases
2424
url = { version = "2.1.1", features = ["serde"] }
2525
badge = { path = "src/web/badge" }
26+
backtrace = "0.3"
2627
failure = "0.1.3"
2728
comrak = { version = "0.3", default-features = false }
2829
toml = "0.5"

src/web/mod.rs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ macro_rules! ctry {
1111
match $result {
1212
Ok(v) => v,
1313
Err(e) => {
14-
return $crate::web::page::Page::new(format!("{:?}", e))
15-
.title("An error has occured")
14+
log::error!("{}\n{:?}", e, backtrace::Backtrace::new());
15+
return $crate::web::page::Page::new(format!("{}", e))
16+
.title("Internal Server Error")
1617
.set_status(::iron::status::BadRequest)
17-
.to_resp("resp");
18+
.to_resp("error");
1819
}
1920
}
2021
};
@@ -27,10 +28,14 @@ macro_rules! cexpect {
2728
match $option {
2829
Some(v) => v,
2930
None => {
30-
return $crate::web::page::Page::new("Resource not found".to_owned())
31-
.title("An error has occured")
31+
log::error!(
32+
"called cexpect!() on a `None` value\n{:?}",
33+
backtrace::Backtrace::new()
34+
);
35+
return $crate::web::page::Page::new("Internal Server Error".to_owned())
36+
.title("Internal Server Error")
3237
.set_status(::iron::status::BadRequest)
33-
.to_resp("resp");
38+
.to_resp("error");
3439
}
3540
}
3641
};

templates/error.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
{{> header}}
2+
{{content}}
23
{{> footer}}

0 commit comments

Comments
 (0)