deduplicated the reqwest::CLient
Dieser Commit ist enthalten in:
Ursprung
9c8b9375d3
Commit
a8b3482eb3
3 geänderte Dateien mit 22 neuen und 14 gelöschten Zeilen
12
src/main.rs
12
src/main.rs
|
@ -42,7 +42,10 @@ use openssl::{
|
|||
Private,
|
||||
},
|
||||
};
|
||||
use reqwest::tls::Version;
|
||||
use reqwest::{
|
||||
Client,
|
||||
tls::Version,
|
||||
};
|
||||
use schemars::{
|
||||
SchemaGenerator,
|
||||
consts::meta_schemas::DRAFT07,
|
||||
|
@ -84,8 +87,9 @@ use tokio_stream::{
|
|||
};
|
||||
|
||||
|
||||
fn default_client() -> Result<reqwest::Client, Error> {
|
||||
reqwest::Client::builder()
|
||||
fn default_client() -> Result<Client, Error> {
|
||||
trace!("Initialized new reqwest Client");
|
||||
Client::builder()
|
||||
.min_tls_version(Version::TLS_1_2)
|
||||
.https_only(true)
|
||||
.pool_max_idle_per_host(POOL_SIZE)
|
||||
|
@ -112,7 +116,7 @@ async fn load_privkey(path: PathBuf) -> Result<PKey<Private>, Error> {
|
|||
|
||||
async fn racme(flags: Arguments) -> Result<(), Error> {
|
||||
let client = default_client()?;
|
||||
let mut dns_manager = Manager::new();
|
||||
let mut dns_manager = Manager::new(client.clone());
|
||||
let systemd_access = daemon::booted();
|
||||
let mainconfig = {
|
||||
let file = match FILE_MODE.open(flags.config).await {
|
||||
|
|
|
@ -23,6 +23,7 @@ use crate::{
|
|||
};
|
||||
use log::*;
|
||||
use macro_rules_attribute::macro_rules_derive;
|
||||
use reqwest::Client;
|
||||
use schemars::JsonSchema;
|
||||
use serde::Deserialize;
|
||||
use std::{
|
||||
|
@ -32,13 +33,16 @@ use std::{
|
|||
use tokio::sync::Mutex;
|
||||
|
||||
#[macro_rules_derive(DefDer)]
|
||||
pub struct Manager(Arc<Mutex<InnerManager>>);
|
||||
pub struct Manager(Arc<Mutex<InnerManager>>, Client);
|
||||
|
||||
impl Manager {
|
||||
pub fn new() -> Self {
|
||||
Self(Arc::new(Mutex::new(InnerManager {
|
||||
servers: HashMap::new(),
|
||||
})))
|
||||
pub fn new(client: Client) -> Self {
|
||||
Self(
|
||||
Arc::new(Mutex::new(InnerManager {
|
||||
servers: HashMap::new(),
|
||||
})),
|
||||
client,
|
||||
)
|
||||
}
|
||||
|
||||
pub async fn set_record(&self, domain: String, value: String) -> Option<DnsToken> {
|
||||
|
@ -79,7 +83,7 @@ impl Manager {
|
|||
self.0.lock().await.servers.insert(
|
||||
fixed_zone,
|
||||
match builder {
|
||||
DnsBuilder::PowerDNS(pdns_client_options) => pdns_client_options.build(zone),
|
||||
DnsBuilder::PowerDNS(pdns_client_options) => pdns_client_options.build(zone, self.1.clone()),
|
||||
DnsBuilder::DNSUpdate(dnsupdate_client_options) => dnsupdate_client_options.build(zone),
|
||||
DnsBuilder::None => Dns::None,
|
||||
},
|
||||
|
|
|
@ -7,6 +7,7 @@ use derive_new::new;
|
|||
use log::*;
|
||||
use macro_rules_attribute::macro_rules_derive;
|
||||
use reqwest::{
|
||||
Client,
|
||||
RequestBuilder,
|
||||
StatusCode,
|
||||
Url,
|
||||
|
@ -18,7 +19,6 @@ use serde::{
|
|||
};
|
||||
|
||||
use crate::{
|
||||
default_client,
|
||||
macros::DefDer,
|
||||
types::{
|
||||
dns::Dns,
|
||||
|
@ -48,9 +48,9 @@ impl PdnsClientOptions {
|
|||
}
|
||||
|
||||
impl PdnsClientOptions {
|
||||
pub fn build(self, zone: String) -> Dns {
|
||||
pub fn build(self, zone: String, client: Client) -> Dns {
|
||||
Dns::PowerDNS(PdnsHandler {
|
||||
client: default_client().unwrap(),
|
||||
client,
|
||||
server: self.server,
|
||||
api_key: self.api_key,
|
||||
server_id: self.server_id,
|
||||
|
@ -61,7 +61,7 @@ impl PdnsClientOptions {
|
|||
|
||||
#[macro_rules_derive(DefDer)]
|
||||
pub struct PdnsHandler {
|
||||
client: reqwest::Client,
|
||||
client: Client,
|
||||
server: String,
|
||||
api_key: String,
|
||||
server_id: String,
|
||||
|
|
Laden …
Tabelle hinzufügen
In neuem Issue referenzieren