diff options
| author | Teddy Wing | 2020-06-28 23:48:54 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2020-06-28 23:48:54 +0200 | 
| commit | c2f9adfe96406323e715513444a9d70fc7c4c17d (patch) | |
| tree | 33bec1a7c8d0ceeb33991c275007e05f16706d60 /examples/server.rs | |
| parent | 13fd1f2619df452dba2ab6ca8340de32c996d268 (diff) | |
| download | fastcgi-conduit-c2f9adfe96406323e715513444a9d70fc7c4c17d.tar.bz2 | |
examples/server: Try using a `conduit_router::RouteBuilder`
Try making a server with more than one route.
Diffstat (limited to 'examples/server.rs')
| -rw-r--r-- | examples/server.rs | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/examples/server.rs b/examples/server.rs index 464e564..6d9c3bb 100644 --- a/examples/server.rs +++ b/examples/server.rs @@ -1,4 +1,5 @@  extern crate conduit; +extern crate conduit_router;  extern crate http;  extern crate fastcgi_conduit; @@ -6,14 +7,20 @@ use std::fs::OpenOptions;  use std::io::prelude::*;  use std::io; -use conduit::{Body, RequestExt, Response}; +use conduit::{Body, HttpResult, RequestExt, Response};  use conduit::header; +use conduit_router::{RequestParams, RouteBuilder};  use fastcgi_conduit::Server;  fn main() { -    Server::start(handler); +    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>> { @@ -25,3 +32,10 @@ fn handler(req: &mut dyn RequestExt) -> io::Result<Response<Body>> {              .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)) +} | 
