Page MenuHomePhorge

dump.rs
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None
use crate::{
file::{self, Exists},
helpers, log,
process::{id::Id, Runner},
};
use colored::Colorize;
use global_placeholders::global;
use macros_rs::{crashln, fmtstr, string};
use reqwest::blocking::Client;
use reqwest::header::{HeaderMap, HeaderValue, AUTHORIZATION};
use std::{collections::BTreeMap, fs};
pub fn from(address: &str, token: Option<&str>) -> Result<Runner, anyhow::Error> {
let client = Client::new();
let mut headers = HeaderMap::new();
if let Some(token) = token {
headers.insert(AUTHORIZATION, HeaderValue::from_static(fmtstr!("token {token}")));
}
let response = client.get(fmtstr!("{address}/daemon/dump")).headers(headers).send()?;
let bytes = response.bytes()?;
Ok(file::from_rmp(&bytes))
}
pub fn read() -> Runner {
if !Exists::check(&global!("pmc.dump")).file() {
let runner = Runner {
id: Id::new(0),
list: BTreeMap::new(),
remote: None,
};
write(&runner);
log!("created dump file");
}
file::read_rmp(global!("pmc.dump"))
}
pub fn raw() -> Vec<u8> {
if !Exists::check(&global!("pmc.dump")).file() {
let runner = Runner {
id: Id::new(0),
list: BTreeMap::new(),
remote: None,
};
write(&runner);
log!("created dump file");
}
file::raw(global!("pmc.dump"))
}
pub fn write(dump: &Runner) {
let encoded: Vec<u8> = match rmp_serde::to_vec(&dump) {
Ok(contents) => contents,
Err(err) => crashln!("{} Cannot encode dump.\n{}", *helpers::FAIL, string!(err).white()),
};
if let Err(err) = fs::write(global!("pmc.dump"), encoded) {
crashln!("{} Error writing dumpfile.\n{}", *helpers::FAIL, string!(err).white())
}
}

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 1, 9:59 PM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
491444
Default Alt Text
dump.rs (1 KB)

Event Timeline