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