crablog/site/src/main.rs

44 lines
1.2 KiB
Rust
Raw Normal View History

2020-10-22 23:51:20 +02:00
mod config;
2020-10-22 00:17:52 +02:00
mod db;
mod routes;
#[macro_use]
extern crate diesel;
extern crate chrono;
extern crate serde_derive;
extern crate tera;
use actix_files as fs;
2020-10-22 23:51:20 +02:00
use actix_web::{App, HttpServer};
use openssl::ssl::{SslAcceptor, SslFiletype, SslMethod};
2020-10-22 00:17:52 +02:00
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
2020-10-22 23:51:20 +02:00
let root_path = config::get_from_env("ROOT_PATH", true);
let mut builder = SslAcceptor::mozilla_intermediate(SslMethod::tls()).unwrap();
builder
.set_private_key_file(
config::get_from_env("SSL_PATH", true) + "/key.pem",
SslFiletype::PEM,
)
.unwrap();
builder
.set_certificate_chain_file(config::get_from_env("SSL_PATH", true) + "/cert.pem")
.unwrap();
2020-10-22 00:17:52 +02:00
App::new()
//.wrap(middleware::NormalizePath::default())
2020-10-22 00:17:52 +02:00
.service(routes::root)
.service(routes::blog)
.service(routes::blog_permalink)
.service(routes::blog_submit)
.service(routes::blog_new_post)
2020-10-22 23:51:20 +02:00
.service(fs::Files::new("/static", root_path + "/static"))
2020-10-22 00:17:52 +02:00
})
.bind(String::from("localhost:") + &config::get_from_env("BIND_PORT", true))?
2020-10-22 00:17:52 +02:00
.run()
.await
}