diff options
| author | Teddy Wing | 2020-07-04 03:55:28 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2020-07-04 03:55:28 +0200 | 
| commit | 44967e5ae07fc99f56c14dc440cf795851ae117f (patch) | |
| tree | b7b7925f24b28c3de977be041e23f6260b65853d /examples/server.rs | |
| parent | 23f23e7ee0540c1078db038c3b3cad93b312200a (diff) | |
| parent | d125b25f4245df3d0eb80aa726c2a7039945f3de (diff) | |
| download | fastcgi-conduit-44967e5ae07fc99f56c14dc440cf795851ae117f.tar.bz2 | |
Merge branch 'conduit'
Diffstat (limited to 'examples/server.rs')
| -rw-r--r-- | examples/server.rs | 48 | 
1 files changed, 31 insertions, 17 deletions
| diff --git a/examples/server.rs b/examples/server.rs index 7460f56..6d9c3bb 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -1,27 +1,41 @@ +extern crate conduit; +extern crate conduit_router;  extern crate http; +extern crate fastcgi_conduit;  use std::fs::OpenOptions;  use std::io::prelude::*; +use std::io; -use http::{Response, StatusCode}; +use conduit::{Body, HttpResult, RequestExt, Response}; +use conduit::header; +use conduit_router::{RequestParams, RouteBuilder}; -use fcgi; +use fastcgi_conduit::Server;  fn main() { -    fcgi::run(move |req| { -        let mut file = OpenOptions::new() -            .write(true) -            .append(true) -            .open("/tmp/fcgi-log.txt") -            .unwrap(); -        write!(file, "ยป {:?}\n", req).unwrap(); - -        let resp = Response::builder() -            .status(StatusCode::OK) -            .body(()) -            .unwrap(); - -        return resp; -    }); +    let mut router = RouteBuilder::new(); + +    router.get("/", handler); +    router.get("/:var", var_handler); + +    Server::start(router); +} + +fn handler(req: &mut dyn RequestExt) -> io::Result<Response<Body>> { +    Ok( +        Response::builder() +            .status(202) +            .header(header::CONTENT_TYPE, "text/html") +            .body(Body::from_static(b"<h1>Test</h1>")) +            .unwrap() +    ) +} + +fn var_handler(req: &mut dyn RequestExt) -> HttpResult { +    let var = req.params().find("var").unwrap(); +    let text = format!("The value is: {}", var).into_bytes(); + +    Response::builder().body(Body::from_vec(text))  } | 
