Useage

````rust use athene::{Request,Response,Result};

[derive(serde::Serialize,serde::Deserialize)]

pub struct User { name: String, age: i32, }

pub async fn hello(req: Request) -> Result{ let name: String = req.param("name").unwrap(); Response::text(name) }

pub async fn world(_req: Request) -> Result{ Response::text("world") }

pub async fn welcome(req: Request) -> Result{ let user = req.query::().unwrap(); Response::json(&user) }

pub async fn index(_req: Request) -> Result{ Response::redirect("/api/world") }

pub async fn login(req: Request) -> Result{ let mut req = req; let user = req.parse::().await?; Response::json(&user) }

pub async fn upload(req: Request) -> Result{ let mut req = req; let file = req.file("file").await; let name = file.name().unwrap(); Response::text(name) }

[tokio::main]

pub async fn main(){ let mut http = athene::new(); http.get("/", index); http.get("/base",welcome); http.post("/upload", upload); // use middleware //http.middleware(middleware);

http.group("/api", |base|{
    base.get("/hello/{name}", hello);
    base.get("/world", world);
    base.group("/user",|user|{
        user.post("/",login);
    });
});

http.listen("0.0.0.0:8081").await.unwrap();

} ````