schala/src/webapp.rs

30 lines
630 B
Rust
Raw Normal View History

use rocket;
use rocket::response::NamedFile;
2017-09-19 20:29:08 -07:00
use rocket_contrib::Json;
#[get("/")]
fn index() -> Result<NamedFile, ()> {
NamedFile::open("static/index.html").map_err(|_| ())
}
2017-09-19 20:29:08 -07:00
#[derive(Serialize, Deserialize)]
struct Input {
source: String,
}
#[derive(Serialize, Deserialize)]
struct Output {
text: String,
}
#[post("/input", format = "application/json", data = "<input>")]
fn interpreter_input(input: Json<Input>) -> Json<Output> {
let output = Output { text: "test interpreter output".to_string() };
Json(output)
}
pub fn web_main() {
2017-09-19 20:29:08 -07:00
rocket::ignite().mount("/", routes![index, interpreter_input]).launch();
}