Serve the current state using rocket
This commit is contained in:
parent
42bdc0361d
commit
6d434ae4a4
2 changed files with 15 additions and 1 deletions
|
@ -7,5 +7,6 @@ edition = "2021"
|
|||
clap = { version = "4.2.7", features = ["cargo", "derive"] }
|
||||
regex = "1.8.1"
|
||||
reqwest = { version = "0.11.17", features = ["blocking", "json"] }
|
||||
rocket = "=0.5.0-rc.3"
|
||||
serde_json = "1.0.96"
|
||||
spaceapi = "0.9.0"
|
||||
|
|
15
src/main.rs
15
src/main.rs
|
@ -17,10 +17,14 @@ struct Cli {
|
|||
use std::sync::{Arc, Mutex};
|
||||
type Body = Arc<Mutex<String>>;
|
||||
|
||||
fn main() {
|
||||
use rocket::{get, launch, routes, State};
|
||||
|
||||
#[launch]
|
||||
fn rocket() -> _ {
|
||||
let cli = Cli::parse();
|
||||
|
||||
let body: Body = Arc::new(Mutex::new(String::new()));
|
||||
let body_state = body.clone();
|
||||
std::thread::spawn(move || loop {
|
||||
let str = client::get_prometheus_string(cli.url.clone());
|
||||
let mut lock = body.lock().unwrap();
|
||||
|
@ -29,4 +33,13 @@ fn main() {
|
|||
|
||||
std::thread::sleep(std::time::Duration::from_millis(cli.delay * 1000));
|
||||
});
|
||||
|
||||
rocket::build()
|
||||
.manage(body_state)
|
||||
.mount("/prometheus", routes![prometheus])
|
||||
}
|
||||
|
||||
#[get("/")]
|
||||
fn prometheus(body: &State<Body>) -> String {
|
||||
format!("{}", body.lock().unwrap())
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue