src/api2/node.rs: add node parameter

This commit is contained in:
Dietmar Maurer
2019-04-09 14:43:30 +02:00
parent 7ae0bf52dd
commit d8d40dd0c2
8 changed files with 52 additions and 10 deletions

View File

@ -1,6 +1,11 @@
use failure::*;
use crate::tools;
use crate::api_schema::*;
use crate::api_schema::router::*;
use serde_json::{json};
use lazy_static::lazy_static;
use std::sync::Arc;
mod tasks;
mod time;
@ -9,6 +14,23 @@ mod dns;
mod syslog;
mod services;
lazy_static!{
pub static ref NODE_SCHEMA: Arc<Schema> = Arc::new(
StringSchema::new("Node name (or 'localhost')")
.format(
Arc::new(ApiStringFormat::VerifyFn(|node| {
if node == "localhost" || node == tools::nodename() {
Ok(())
} else {
Err(format_err!("no such node '{}'", node))
}
}))
)
.into()
);
}
pub fn router() -> Router {
let route = Router::new()