date filters strongly typed; formatting
This commit is contained in:
+29
-9
@@ -1,7 +1,10 @@
|
||||
macro_rules! implement_pagination_v1 {
|
||||
($t:ty) => {
|
||||
impl $t {
|
||||
async fn follow_link(client : &Client, url : &str) -> Result<Self, error::Error> {
|
||||
async fn follow_link(
|
||||
client: &Client,
|
||||
url: &str,
|
||||
) -> Result<Self, error::Error> {
|
||||
let res = reqwest::Client::new()
|
||||
.get(url)
|
||||
.header("Authorization", client.auth_header())
|
||||
@@ -11,22 +14,36 @@ macro_rules! implement_pagination_v1 {
|
||||
|
||||
match res.status() {
|
||||
reqwest::StatusCode::OK => {
|
||||
let body = res.text().await.map_err(error::Error::BodyRead)?;
|
||||
let response : Self = serde_json::from_str(&body).map_err(error::Error::Json)?;
|
||||
let body =
|
||||
res.text()
|
||||
.await
|
||||
.map_err(error::Error::BodyRead)?;
|
||||
let response: Self =
|
||||
serde_json::from_str(&body)
|
||||
.map_err(error::Error::Json)?;
|
||||
|
||||
Ok(response)
|
||||
},
|
||||
_ => {
|
||||
let body = res.text().await.map_err(error::Error::BodyRead)?;
|
||||
let error : error::ErrorResponse = serde_json::from_str(&body).map_err(error::Error::Json)?;
|
||||
let body =
|
||||
res.text()
|
||||
.await
|
||||
.map_err(error::Error::BodyRead)?;
|
||||
let error: error::ErrorResponse =
|
||||
serde_json::from_str(&body)
|
||||
.map_err(error::Error::Json)?;
|
||||
|
||||
Err(error::Error::Api(error))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Follows the link to the next page, returns None of the next page does not exist.
|
||||
pub async fn next(&self, client : &Client) -> Option<Result<Self, error::Error>> {
|
||||
/// Follows the link to the next page, returns None of the next
|
||||
/// page does not exist.
|
||||
pub async fn next(
|
||||
&self,
|
||||
client: &Client,
|
||||
) -> Option<Result<Self, error::Error>> {
|
||||
match
|
||||
self
|
||||
.links
|
||||
@@ -39,8 +56,11 @@ macro_rules! implement_pagination_v1 {
|
||||
}
|
||||
}
|
||||
|
||||
/// Follows the link to the previous page, returns None of the previous page does not exist.
|
||||
pub async fn prev(&self, client : &Client) -> Option<Result<Self, error::Error>> {
|
||||
/// Follows the link to the previous page, returns None of the
|
||||
/// previous page does not exist.
|
||||
pub async fn prev(
|
||||
&self, client: &Client,
|
||||
) -> Option<Result<Self, error::Error>> {
|
||||
match
|
||||
self
|
||||
.links
|
||||
|
||||
Reference in New Issue
Block a user