summaryrefslogtreecommitdiffstats
path: root/src/error_handlers.rs
diff options
context:
space:
mode:
authorJokler <jokler@protonmail.com>2020-06-21 06:37:46 +0200
committerJokler <jokler@protonmail.com>2020-06-21 06:37:46 +0200
commite6468b012d5b33dd16992652da57f11dd5a6e82f (patch)
treee89add440df79d4036b9b44d8c77ee6d69e67201 /src/error_handlers.rs
downloadjoklerpoints-e6468b012d5b33dd16992652da57f11dd5a6e82f.tar.gz
joklerpoints-e6468b012d5b33dd16992652da57f11dd5a6e82f.zip
Initial commitHEADmaster
Diffstat (limited to 'src/error_handlers.rs')
-rw-r--r--src/error_handlers.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/error_handlers.rs b/src/error_handlers.rs
new file mode 100644
index 0000000..c25b1c5
--- /dev/null
+++ b/src/error_handlers.rs
@@ -0,0 +1,33 @@
+use actix_files::NamedFile;
+use actix_web::middleware::errhandlers::ErrorHandlerResponse;
+use actix_web::{dev, Responder, Result};
+
+pub fn bad_request<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
+ let new_resp = NamedFile::open("static/errors/400.htm")?
+ .set_status_code(res.status())
+ .respond_to(res.request())
+ .into_inner()?;
+ Ok(ErrorHandlerResponse::Response(
+ res.into_response(new_resp.into_body()),
+ ))
+}
+
+pub fn not_found<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
+ let new_resp = NamedFile::open("static/errors/404.htm")?
+ .set_status_code(res.status())
+ .respond_to(res.request())
+ .into_inner()?;
+ Ok(ErrorHandlerResponse::Response(
+ res.into_response(new_resp.into_body()),
+ ))
+}
+
+pub fn internal_server_error<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
+ let new_resp = NamedFile::open("static/errors/500.htm")?
+ .set_status_code(res.status())
+ .respond_to(res.request())
+ .into_inner()?;
+ Ok(ErrorHandlerResponse::Response(
+ res.into_response(new_resp.into_body()),
+ ))
+}