extern crate log; extern crate env_logger; extern crate actix_http; extern crate actix_net; extern crate futures; extern crate http; extern crate bytes; use actix_http::{h1, ServiceConfig, SendResponse, Response}; use actix_net::framed::IntoFramed; use actix_net::codec::Framed; use actix_net::stream::TakeItem; use actix_net::server::Server; use actix_net::service::NewServiceExt; use futures::Future; use std::env; fn main() { env::set_var("RUST_LOG", "framed_hello=info"); env_logger::init(); Server::new().bind("framed_hello", "127.0.0.1:8080", || { IntoFramed::new(|| h1::Codec::new(ServiceConfig::default())) .and_then(TakeItem::new().map_err(|_| ())) .and_then(|(_req, _framed): (_, Framed<_, _>)| { SendResponse::send(_framed, Response::Ok().body("Hello world!")) .map_err(|_| ()) .map(|_| ()) }) }).unwrap().run(); }