1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-22 08:07:18 +00:00
actix-web/actix-http
Otavio Salvador 146ae4da18 Implement std::error::Error for our custom errors
For allowing a more ergonomic use and better integration on the
ecosystem, this adds the `std::error::Error` `impl` for our custom
errors.

We intent to drop this hand made code once `derive_more` finishes the
addition of the Error derive support[1]. Until that is available, we
need to live with that.

1. https://github.com/JelteF/derive_more/issues/92

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-03-18 00:22:18 -03:00
..
benches increase content-length fast path to responses up to 1MB 2020-02-24 20:58:41 +00:00
examples Run rustfmt 2020-02-27 11:10:55 +09:00
src Implement std::error::Error for our custom errors 2020-03-18 00:22:18 -03:00
tests Update tests 2020-03-08 16:42:45 +09:00
.appveyor.yml Merge actix-http project 2019-03-26 11:54:35 -07:00
Cargo.toml Update actix-connect to 2.0.0-alpha.2 2020-03-08 15:27:40 +09:00
CHANGES.md Implement std::error::Error for our custom errors 2020-03-18 00:22:18 -03:00
CODE_OF_CONDUCT.md Merge actix-http project 2019-03-26 11:54:35 -07:00
LICENSE-APACHE Merge actix-http project 2019-03-26 11:54:35 -07:00
LICENSE-MIT Merge actix-http project 2019-03-26 11:54:35 -07:00
README.md Update README example 2020-03-08 00:43:01 +09:00
rustfmt.toml Merge actix-http project 2019-03-26 11:54:35 -07:00

Actix http Build Status codecov crates.io Join the chat at https://gitter.im/actix/actix

Actix http

Documentation & community resources

Example

// see examples/framed_hello.rs for complete list of used crates.
use std::{env, io};

use actix_http::{HttpService, Response};
use actix_server::Server;
use futures::future;
use http::header::HeaderValue;
use log::info;

#[actix_rt::main]
async fn main() -> io::Result<()> {
    env::set_var("RUST_LOG", "hello_world=info");
    env_logger::init();

    Server::build()
        .bind("hello-world", "127.0.0.1:8080", || {
            HttpService::build()
                .client_timeout(1000)
                .client_disconnect(1000)
                .finish(|_req| {
                    info!("{:?}", _req);
                    let mut res = Response::Ok();
                    res.header("x-head", HeaderValue::from_static("dummy value!"));
                    future::ok::<_, ()>(res.body("Hello world!"))
                })
                .tcp()
        })?
        .run()
        .await
}

License

This project is licensed under either of

at your option.

Code of Conduct

Contribution to the actix-http crate is organized under the terms of the Contributor Covenant, the maintainer of actix-http, @fafhrd91, promises to intervene to uphold that code of conduct.