mod models;
use actix_web::{App, HttpServer};
use dotenvy;
use std::env;
use speedtest_statuspage::{spawn_speedtest_scheduler, speedtest};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
dotenvy::dotenv().ok();
let bind_address = env::var("BIND_ADDRESS").unwrap_or_else(|_| "127.0.0.1".to_string());
let bind_port_str = env::var("BIND_PORT").unwrap_or_else(|_| "8080".to_string());
let bind_port: u16 = bind_port_str.parse().expect("BIND_PORT must be a valid u16");
tokio::spawn(spawn_speedtest_scheduler());
println!("Starting server at http://{}:{}/speed", bind_address, bind_port);
HttpServer::new(|| App::new().service(speedtest))
.bind((bind_address.as_str(), bind_port))?
.run()
.await
}