forked from
microcosm.blue/Allegedly
Server tools to backfill, tail, mirror, and verify PLC logs
1use reqwest::Client;
2use reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
3use reqwest_retry::{RetryTransientMiddleware, policies::ExponentialBackoff};
4use std::sync::LazyLock;
5
6pub static CLIENT: LazyLock<ClientWithMiddleware> = LazyLock::new(|| {
7 let inner = Client::builder()
8 .user_agent(concat!(
9 "allegedly, v",
10 env!("CARGO_PKG_VERSION"),
11 " (from @microcosm.blue; contact @bad-example.com)"
12 ))
13 .build()
14 .unwrap();
15
16 let policy = ExponentialBackoff::builder().build_with_max_retries(12);
17
18 ClientBuilder::new(inner)
19 .with(RetryTransientMiddleware::new_with_policy(policy))
20 .build()
21});