socktop-webterm/src/server.rs

36 lines
862 B
Rust
Raw Normal View History

2019-03-29 13:48:31 +00:00
extern crate actix;
extern crate actix_web;
extern crate webterm;
use actix_web::{fs::NamedFile, fs::StaticFiles, server, App, HttpRequest, Result};
use webterm::WebTermExt;
2019-03-29 15:32:35 +00:00
use std::process::Command;
2019-03-29 13:48:31 +00:00
fn index(_req: &HttpRequest) -> Result<NamedFile> {
Ok(NamedFile::open("static/term.html")?)
}
fn main() {
pretty_env_logger::init();
server::new(|| {
App::new()
.handler(
"/static",
StaticFiles::new("node_modules")
.unwrap()
.show_files_listing(),
)
2019-03-29 15:32:35 +00:00
.webterm_socket("/websocket", |_req| {
let mut cmd = Command::new("/bin/sh");
cmd.env("TERM", "xterm");
cmd
})
2019-03-29 13:48:31 +00:00
.resource("/", |r| r.f(index))
})
.bind("127.0.0.1:8080")
.unwrap()
.run();
}