extern crate gempress; use gempress::Gempress; use gempress::error::GempressResult; use gempress::gemini; use gempress::gemini::StatusCode; use std::path::PathBuf; use std::hash::{Hash, Hasher}; use std::collections::hash_map::DefaultHasher; fn calculate_hash(t: &T) -> u64 { let mut s = DefaultHasher::new(); t.hash(&mut s); s.finish() } fn index_handler(req: Box, mut res: Box) -> GempressResult<()>{ let response = format!(r#" # Astrofarm Hello, {} "#, "user"); println!("Index handler"); res.status(StatusCode::Success)?.send(response.as_bytes())?; Ok(()) } fn main() { // Run make_cert.sh to generate a certificate let config = gempress::Config::new(PathBuf::from("cert.pem"), PathBuf::from("key.pem")); let mut app = Gempress::new(config); app.on("/", &index_handler); app.listen(1965, || { println!("Listening on port 1965"); }) .unwrap(); }