1
0
mirror of https://github.com/actix/actix-website synced 2024-11-28 02:22:57 +01:00
actix-website/examples/errors/src/main.rs

34 lines
761 B
Rust
Raw Normal View History

pub mod helpers;
pub mod logging;
pub mod override_error;
pub mod recommend_one;
2019-06-25 03:18:30 +02:00
pub mod recommend_two;
2019-06-17 19:46:21 +02:00
// <response-error>
2019-06-28 20:22:51 +02:00
use actix_web::{error, Result};
2020-09-12 17:21:54 +02:00
use derive_more::{Display, Error};
2019-06-17 19:46:21 +02:00
2020-09-12 17:21:54 +02:00
#[derive(Debug, Display, Error)]
#[display(fmt = "my error: {}", name)]
struct MyError {
2019-06-17 19:46:21 +02:00
name: &'static str,
}
// Use default implementation for `error_response()` method
impl error::ResponseError for MyError {}
async fn index() -> Result<&'static str, MyError> {
2019-06-17 19:46:21 +02:00
Err(MyError { name: "test" })
}
// </response-error>
2019-06-25 03:18:30 +02:00
2020-09-12 17:21:54 +02:00
#[actix_web::main]
async fn main() -> std::io::Result<()> {
use actix_web::{web, App, HttpServer};
2019-06-25 03:18:30 +02:00
HttpServer::new(|| App::new().route("/", web::get().to(index)))
2022-02-26 04:56:24 +01:00
.bind(("127.0.0.1", 8080))?
.run()
.await
}