Permalink
Comparing changes
Open a pull request
- 6 commits
- 9 files changed
- 0 commit comments
- 2 contributors
Unified
Split
Showing
with
36 additions
and 36 deletions.
- +1 −2 frameworks/Rust/hyper/Cargo.toml
- +12 −12 frameworks/Rust/hyper/src/main.rs
- +3 −3 frameworks/Rust/iron/Cargo.toml
- +1 −1 frameworks/Rust/iron/setup.sh
- +6 −8 frameworks/Rust/iron/src/main.rs
- +2 −2 frameworks/Rust/nickel/Cargo.toml
- +1 −1 frameworks/Rust/nickel/setup.sh
- +7 −4 frameworks/Rust/nickel/src/main.rs
- +3 −3 toolset/setup/linux/languages/rust.sh
| @@ -4,5 +4,4 @@ version = "0.1.0" | ||
| authors = ["Steve Klabnik <steve@steveklabnik.com>"] | ||
| [dependencies] | ||
| hyper="0.5.2" | ||
| hyper="0.7.2" | ||
| @@ -1,24 +1,24 @@ | ||
| extern crate hyper; | ||
| use hyper::server::{Server, Request, Response}; | ||
| use hyper::status::StatusCode; | ||
| use hyper::uri::RequestUri; | ||
| use hyper::header::ContentType; | ||
| use hyper::header::ContentLength; | ||
| use hyper::header; | ||
| const HELLO_WORLD: &'static [u8; 14] = b"Hello, World!\n"; | ||
| fn main() { | ||
| Server::http(|req: Request, mut res: Response| { | ||
| match (req.method, req.uri) { | ||
| (hyper::Get, RequestUri::AbsolutePath(ref path)) if path == "/plaintext" => { | ||
| res.headers_mut().set(ContentType::plaintext()); | ||
| res.headers_mut().set(header::Server("Hyper".to_owned())); | ||
| Server::http("0.0.0.0:8080").unwrap().handle(handler).unwrap(); | ||
| } | ||
| fn handler(req: Request, mut res: Response) { | ||
| match (req.method, req.uri) { | ||
| (hyper::Get, RequestUri::AbsolutePath(ref path)) if path == "/plaintext" => { | ||
| res.headers_mut().set(ContentType::plaintext()); | ||
| res.headers_mut().set(header::Server("Hyper".to_owned())); | ||
| res.send(HELLO_WORLD).unwrap(); | ||
| } | ||
| _ => (), | ||
| }; | ||
| }).listen("0.0.0.0:8080").unwrap(); | ||
| res.send(HELLO_WORLD).unwrap(); | ||
| } | ||
| _ => (), | ||
| } | ||
| } |
| @@ -4,6 +4,6 @@ name = "iron" | ||
| version = "0.0.1" | ||
| [dependencies] | ||
| rustc-serialize = "0.3" | ||
| iron = "0.1.18" | ||
| router = "0.0.10" | ||
| rustc-serialize = "0.3.18" | ||
| iron = "0.2.6" | ||
| router = "0.1.0" | ||
| @@ -2,6 +2,6 @@ | ||
| fw_depends rust | ||
| rm -rf target/ | ||
| cargo clean | ||
| cargo build --release | ||
| ./target/release/iron & | ||
| @@ -4,7 +4,7 @@ extern crate rustc_serialize; | ||
| use iron::{Iron, Request, Response, IronResult}; | ||
| use iron::status; | ||
| use router::{Router}; | ||
| use router::Router; | ||
| use rustc_serialize::json; | ||
| #[derive(RustcDecodable, RustcEncodable)] | ||
| @@ -14,19 +14,17 @@ struct Message { | ||
| fn main() { | ||
| let mut router = Router::new(); | ||
| router.get("/json", jsonHandler); | ||
| router.get("/plaintext", plaintextHandler); | ||
| router.get("/json", json_handler); | ||
| router.get("/plaintext", plaintext_handler); | ||
| Iron::new(router).http("0.0.0.0:8080").unwrap(); | ||
| } | ||
| fn jsonHandler(req: &mut Request) -> IronResult<Response> { | ||
| let message: Message = Message{ | ||
| message: "Hello, World!".to_string(), | ||
| }; | ||
| fn json_handler(_: &mut Request) -> IronResult<Response> { | ||
| let message: Message = Message { message: "Hello, World!".to_string() }; | ||
| Ok(Response::with((status::Ok, json::encode(&message).unwrap()))) | ||
| } | ||
| fn plaintextHandler(req: &mut Request) -> IronResult<Response> { | ||
| fn plaintext_handler(_: &mut Request) -> IronResult<Response> { | ||
| Ok(Response::with((status::Ok, "Hello, World!"))) | ||
| } | ||
| @@ -4,6 +4,6 @@ name = "nickel" | ||
| version = "0.0.1" | ||
| [dependencies] | ||
| rustc-serialize = "0.3" | ||
| nickel = "0.5.0" | ||
| rustc-serialize = "0.3.18" | ||
| nickel = "0.7.3" | ||
| nickel_macros = "0.1.0" | ||
| @@ -2,6 +2,6 @@ | ||
| fw_depends rust | ||
| rm -rf target/ | ||
| cargo clean | ||
| cargo build --release | ||
| ./target/release/nickel & | ||
| @@ -1,7 +1,8 @@ | ||
| #[macro_use] extern crate nickel; | ||
| #[macro_use] | ||
| extern crate nickel; | ||
| extern crate rustc_serialize; | ||
| use nickel::{ Nickel, HttpRouter, MediaType }; | ||
| use nickel::{Nickel, HttpRouter, MediaType}; | ||
| use rustc_serialize::json; | ||
| #[derive(RustcDecodable, RustcEncodable)] | ||
| @@ -13,15 +14,17 @@ fn main() { | ||
| let mut server = Nickel::new(); | ||
| let mut router = Nickel::router(); | ||
| router.get("/json", middleware!{ |_, mut response| | ||
| router.get("/json", | ||
| middleware!{ |_, mut response| | ||
| response.set(MediaType::Json); | ||
| let message: Message = Message{ | ||
| message: "Hello, World!".to_string(), | ||
| }; | ||
| json::encode(&message).unwrap() | ||
| }); | ||
| router.get("/plaintext", middleware! { |_, mut response| | ||
| router.get("/plaintext", | ||
| middleware! { |_, mut response| | ||
| response.set(MediaType::Txt); | ||
| "Hello, World!" | ||
| }); | ||
| @@ -5,10 +5,10 @@ RETCODE=$(fw_exists $IROOT/rust.installed) | ||
| source $IROOT/rust.installed; | ||
| return 0; } | ||
| fw_get -O https://static.rust-lang.org/dist/rust-1.0.0-x86_64-unknown-linux-gnu.tar.gz | ||
| fw_untar rust-1.0.0-x86_64-unknown-linux-gnu.tar.gz | ||
| fw_get -O https://static.rust-lang.org/dist/rust-1.6.0-x86_64-unknown-linux-gnu.tar.gz | ||
| fw_untar rust-1.6.0-x86_64-unknown-linux-gnu.tar.gz | ||
| ( | ||
| cd rust-1.0.0-x86_64-unknown-linux-gnu | ||
| cd rust-1.6.0-x86_64-unknown-linux-gnu | ||
| ./install.sh --prefix=$IROOT/rust | ||
| ) | ||