Browse Source

Added framework: Rust/rouille (#2538)

Gökberk YALTIRAKLI 8 years ago
parent
commit
d6b40b72f0

+ 1 - 0
.travis.yml

@@ -177,6 +177,7 @@ env:
     - "TESTDIR=Rust/nickel"
     - "TESTDIR=Rust/hyper"
     - "TESTDIR=Rust/tokio-minihttp"
+    - "TESTDIR=Rust/rouille"
     - "TESTDIR=Scala/akka-http"
     - "TESTDIR=Scala/blaze"
     - "TESTDIR=Scala/colossus"

+ 8 - 0
frameworks/Rust/rouille/Cargo.toml

@@ -0,0 +1,8 @@
+[package]
+name = "rouille"
+version = "0.1.0"
+authors = ["Gökberk Yaltıraklı <[email protected]>"]
+
+[dependencies]
+rouille = "1.0"
+serde_json = "0.9"

+ 22 - 0
frameworks/Rust/rouille/benchmark_config.json

@@ -0,0 +1,22 @@
+{
+  "framework": "rouille",
+  "tests": [{
+    "default": {
+      "setup_file": "setup",
+      "json_url": "/json",
+      "plaintext_url": "/plaintext",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Micro",
+      "database": "None",
+      "framework": "rouille",
+      "language": "rust",
+      "orm": "raw",
+      "platform": "Rust",
+      "webserver": "rouille",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "rouille"
+    }
+  }]
+}

+ 7 - 0
frameworks/Rust/rouille/setup.sh

@@ -0,0 +1,7 @@
+#!/bin/bash
+
+fw_depends rust
+
+cargo clean
+cargo build --release
+./target/release/rouille &

+ 17 - 0
frameworks/Rust/rouille/src/main.rs

@@ -0,0 +1,17 @@
+#[macro_use] extern crate rouille;
+#[macro_use] extern crate serde_json;
+
+fn main() {
+    rouille::start_server("0.0.0.0:8080", move |req| {
+        router!(req,
+                (GET) (/plaintext) => {
+                    rouille::Response::text("Hello, World!")
+                },
+                (GET) (/json) => {
+                    let json = json!({"message": "Hello, World!"});
+                    rouille::Response::text(json.to_string())
+                },
+                _ => rouille::Response::empty_404()
+            )
+    });
+}