summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/main.rs b/src/main.rs
index 5f9009f..3fe1b7f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -8,22 +8,21 @@ extern crate router;
extern crate env_logger;
#[macro_use]
extern crate horrorshow;
-
+extern crate systemhttp;
extern crate iron_sessionstorage;
+
use iron_sessionstorage::traits::*;
use iron_sessionstorage::SessionStorage;
use iron_sessionstorage::backends::SignedCookieBackend;
-
use iron::status;
use iron::modifiers::Header;
use iron::headers::ContentType;
use iron::{Iron, Request, IronResult, Response, Chain};
use router::Router;
-
use horrorshow::prelude::*;
use horrorshow::Raw;
-
use std::process::Command;
+use systemhttp::systemd::job;
struct Aaa(String);
@@ -39,7 +38,7 @@ impl iron_sessionstorage::Value for Aaa {
}
}
-fn render_message(message: &str) -> String {
+fn render_message(message: &str, units: &[job::Unit]) -> String {
(html!{
: Raw("<!DOCTYPE html>");
html {
@@ -48,6 +47,16 @@ fn render_message(message: &str) -> String {
p {
: message
}
+ h1 {
+ : "Units"
+ }
+ ol {
+ @ for unit in units {
+ li {
+ : &unit.name
+ }
+ }
+ }
}
}
})
@@ -66,15 +75,15 @@ fn hello(r: &mut Request) -> IronResult<Response> {
.unwrap()
.find("name")
.unwrap_or("World").to_owned();
- let output = Command::new("date").output().unwrap().stdout;
- let date = String::from_utf8_lossy(&output);
+
+ let jobs = job::get_jobs().unwrap();
let res = Ok(Response::with((status::Ok,
Header(ContentType::html()),
- render_message(&format!("Hello, {}. The time is {}. {}",
+ render_message(&format!("Hello, {} ({})",
name,
- date,
- session_value.0)))));
+ session_value.0),
+ &jobs))));
info!("Updating session value. Current value: {}", session_value.0);
session_value.0.push('a');
@@ -82,11 +91,7 @@ fn hello(r: &mut Request) -> IronResult<Response> {
res
}
-extern crate systemhttp;
fn main() {
- use systemhttp::systemd::job;
- let u = job::get_jobs().unwrap();
- println!("{:?}", u);
env_logger::init().unwrap();
let secret = b"secret2".to_vec();