forked from mirror/Riven
naive swap reqwest::Client with reqwest_middleware::ClientWithMiddleware
parent
886ed4032d
commit
595553dcaf
|
@ -44,6 +44,7 @@ log = "0.4"
|
|||
num_enum = "0.5"
|
||||
parking_lot = "0.12"
|
||||
reqwest = { version = "0.11", default-features = false, features = [ "gzip", "json" ] }
|
||||
reqwest-middleware = "0.2.4"
|
||||
scan_fmt = { version = "0.2", default-features = false }
|
||||
serde = { version = "1.0", features = [ "derive" ] }
|
||||
serde_json = "1.0"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use std::fmt;
|
||||
|
||||
use reqwest::{Error, Response, StatusCode};
|
||||
use reqwest::{Response, StatusCode};
|
||||
use reqwest_middleware::Error;
|
||||
|
||||
/// Result containing RiotApiError on failure.
|
||||
pub type Result<T> = std::result::Result<T, RiotApiError>;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
use std::future::Future;
|
||||
use std::sync::Arc;
|
||||
|
||||
use reqwest::{RequestBuilder, StatusCode};
|
||||
use reqwest::StatusCode;
|
||||
use reqwest_middleware::RequestBuilder;
|
||||
#[cfg(feature = "tracing")]
|
||||
use tracing as log;
|
||||
#[cfg(feature = "tracing")]
|
||||
|
@ -102,7 +103,7 @@ impl RegionalRequester {
|
|||
retries
|
||||
);
|
||||
break Err(RiotApiError::new(
|
||||
err,
|
||||
reqwest_middleware::Error::Reqwest(err),
|
||||
retries,
|
||||
Some(response),
|
||||
Some(status),
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
use std::future::Future;
|
||||
use std::sync::Arc;
|
||||
|
||||
use reqwest::{Client, Method, RequestBuilder};
|
||||
use reqwest::Method;
|
||||
use reqwest_middleware::{ClientWithMiddleware, RequestBuilder};
|
||||
#[cfg(feature = "tracing")]
|
||||
use tracing as log;
|
||||
|
||||
|
@ -43,7 +44,7 @@ pub struct RiotApi {
|
|||
/// Configuration settings.
|
||||
config: RiotApiConfig,
|
||||
/// Client for making requests.
|
||||
client: Client,
|
||||
client: ClientWithMiddleware,
|
||||
|
||||
/// Per-region requesters.
|
||||
regional_requesters: InsertOnlyCHashMap<&'static str, RegionalRequester>,
|
||||
|
@ -61,7 +62,8 @@ impl RiotApi {
|
|||
config,
|
||||
client: client_builder
|
||||
.build()
|
||||
.expect("Failed to create client from builder."),
|
||||
.expect("Failed to create client from builder.")
|
||||
.into(),
|
||||
regional_requesters: InsertOnlyCHashMap::new(),
|
||||
}
|
||||
}
|
||||
|
@ -103,7 +105,14 @@ impl RiotApi {
|
|||
let retries = rinfo.retries;
|
||||
let status = rinfo.response.status();
|
||||
let value = rinfo.response.json::<T>().await;
|
||||
value.map_err(|e| RiotApiError::new(e, retries, None, Some(status)))
|
||||
value.map_err(|e| {
|
||||
RiotApiError::new(
|
||||
reqwest_middleware::Error::Reqwest(e),
|
||||
retries,
|
||||
None,
|
||||
Some(status),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
/// This method should generally not be used directly. Consider using endpoint wrappers instead.
|
||||
|
@ -132,7 +141,14 @@ impl RiotApi {
|
|||
let retries = rinfo.retries;
|
||||
let status = rinfo.response.status();
|
||||
let value = rinfo.response.json::<Option<T>>().await;
|
||||
value.map_err(|e| RiotApiError::new(e, retries, None, Some(status)))
|
||||
value.map_err(|e| {
|
||||
RiotApiError::new(
|
||||
reqwest_middleware::Error::Reqwest(e),
|
||||
retries,
|
||||
None,
|
||||
Some(status),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
/// This method should generally not be used directly. Consider using endpoint wrappers instead.
|
||||
|
@ -157,11 +173,14 @@ impl RiotApi {
|
|||
.await?;
|
||||
let retries = rinfo.retries;
|
||||
let status = rinfo.response.status();
|
||||
rinfo
|
||||
.response
|
||||
.error_for_status()
|
||||
.map(|_| ())
|
||||
.map_err(|e| RiotApiError::new(e, retries, None, Some(status)))
|
||||
rinfo.response.error_for_status().map(|_| ()).map_err(|e| {
|
||||
RiotApiError::new(
|
||||
reqwest_middleware::Error::Reqwest(e),
|
||||
retries,
|
||||
None,
|
||||
Some(status),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
/// This method should generally not be used directly. Consider using endpoint wrappers instead.
|
||||
|
|
Loading…
Reference in New Issue