#![allow(unused_variables)] extern crate actix; extern crate actix_web; extern crate env_logger; extern crate openssl; use actix_web::*; use openssl::ssl::{SslMethod, SslAcceptor, SslFiletype}; /// simple handle fn index(req: HttpRequest) -> Result { println!("{:?}", req); Ok(httpcodes::HTTPOk .build() .content_type("text/plain") .body("Welcome!")?) } fn main() { if ::std::env::var("RUST_LOG").is_err() { ::std::env::set_var("RUST_LOG", "actix_web=info"); } let _ = env_logger::init(); let sys = actix::System::new("ws-example"); // load ssl keys let mut builder = SslAcceptor::mozilla_intermediate(SslMethod::tls()).unwrap(); builder.set_private_key_file("key.pem", SslFiletype::PEM).unwrap(); builder.set_certificate_chain_file("cert.pem").unwrap(); let addr = HttpServer::new( || Application::new() // enable logger .middleware(middleware::Logger::default()) // register simple handler, handle all methods .resource("/index.html", |r| r.f(index)) // with path parameters .resource("/", |r| r.method(Method::GET).f(|req| { httpcodes::HTTPFound .build() .header("LOCATION", "/index.html") .body(Body::Empty) }))) .bind("127.0.0.1:8443").unwrap() .start_ssl(builder).unwrap(); println!("Started http server: 127.0.0.1:8443"); let _ = sys.run(); }