diff options
| author | Jokler <jokler@protonmail.com> | 2020-06-21 06:37:46 +0200 |
|---|---|---|
| committer | Jokler <jokler@protonmail.com> | 2020-06-21 06:37:46 +0200 |
| commit | e6468b012d5b33dd16992652da57f11dd5a6e82f (patch) | |
| tree | e89add440df79d4036b9b44d8c77ee6d69e67201 /src/error_handlers.rs | |
| download | joklerpoints-master.tar.gz joklerpoints-master.zip | |
Diffstat (limited to 'src/error_handlers.rs')
| -rw-r--r-- | src/error_handlers.rs | 33 |
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()), + )) +} |
