|
|
@ -6,6 +6,7 @@ extern crate serde; |
|
|
|
|
|
|
|
|
use nickel::Nickel; |
|
|
use nickel::Nickel; |
|
|
use nickel::MediaType; |
|
|
use nickel::MediaType; |
|
|
|
|
|
use nickel::status::StatusCode; |
|
|
use systemstat::{System, Platform}; |
|
|
use systemstat::{System, Platform}; |
|
|
//extern crate rustc_serialize;
|
|
|
//extern crate rustc_serialize;
|
|
|
|
|
|
|
|
|
@ -16,6 +17,12 @@ struct LoadInformation { |
|
|
fifteenMinutes: f32 |
|
|
fifteenMinutes: f32 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#[derive(Serialize, Deserialize, Debug)] |
|
|
|
|
|
struct Error { |
|
|
|
|
|
errorCode: String, |
|
|
|
|
|
errorMessage: String |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
fn main() { |
|
|
fn main() { |
|
|
|
|
|
|
|
|
let mut server = Nickel::new(); |
|
|
let mut server = Nickel::new(); |
|
|
@ -46,8 +53,14 @@ fn main() { |
|
|
|
|
|
|
|
|
Err(x) => { |
|
|
Err(x) => { |
|
|
|
|
|
|
|
|
//serde_json::to_string(&result).unwrap()
|
|
|
_res.set(StatusCode::ServiceUnavailable); // HTTP Error 503
|
|
|
String::from("Failure") |
|
|
|
|
|
|
|
|
let result = Error { |
|
|
|
|
|
errorCode: String::from("E_LOADAVG_UNAVAILABLE"), |
|
|
|
|
|
errorMessage: String::from("Error while fetching load average from system stats.") |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
serde_json::to_string(&result).unwrap() |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|