1
0
mirror of https://github.com/actix/actix-website synced 2025-02-08 22:36:07 +01:00

34 lines
996 B
Rust
Raw Normal View History

2019-06-17 16:57:57 -04:00
// <error-handler>
use actix_web::middleware::errhandlers::{ErrorHandlerResponse, ErrorHandlers};
2019-06-26 02:59:20 -04:00
use actix_web::{dev, http, HttpResponse, Result};
2019-06-17 16:57:57 -04:00
fn render_500<B>(mut res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
res.response_mut().headers_mut().insert(
http::header::CONTENT_TYPE,
http::HeaderValue::from_static("Error"),
);
Ok(ErrorHandlerResponse::Response(res))
}
pub fn main() {
2019-06-26 02:59:20 -04:00
use actix_web::{web, App, HttpServer};
HttpServer::new(|| {
App::new()
.wrap(
ErrorHandlers::new()
.handler(http::StatusCode::INTERNAL_SERVER_ERROR, render_500),
)
.service(
web::resource("/test")
.route(web::get().to(|| HttpResponse::Ok()))
.route(web::head().to(|| HttpResponse::MethodNotAllowed())),
)
})
.bind("127.0.0.1:8088")
.unwrap()
.run()
.unwrap();
2019-06-17 16:57:57 -04:00
}
// </error-handler>