From 770f10da05c2a85f5b6934c9062fd7548b0c1e5b Mon Sep 17 00:00:00 2001 From: jakka Date: Wed, 17 Sep 2025 23:08:01 +0300 Subject: moved more single-field json objects into reponse object --- src/client.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/client.rs') diff --git a/src/client.rs b/src/client.rs index 28e3544..0b3f1c7 100644 --- a/src/client.rs +++ b/src/client.rs @@ -2,6 +2,7 @@ use std::{collections::HashMap, path::PathBuf}; use async_trait::async_trait; use reqwest::{Body, RequestBuilder}; +use serde::Deserialize; use tokio_util::codec::{BytesCodec, FramedRead}; use crate::{traits::*, types::*}; @@ -56,6 +57,17 @@ impl HydrusClient { } } +#[derive(Deserialize, Debug)] +struct HydrusResponse { + #[serde( + alias = "service", + alias = "services", + alias = "access_key", + alias = "session_key" + )] + body: T, +} + #[async_trait] impl AccessManagement for HydrusClient { async fn request_new_permissions( @@ -81,9 +93,9 @@ impl AccessManagement for HydrusClient { .get(req_url) .send() .await? - .json::() + .json::>() .await? - .access_key) + .body) } async fn get_session_key(&self) -> Result { @@ -99,9 +111,9 @@ impl AccessManagement for HydrusClient { Ok(request .send() .await? - .json::() + .json::>() .await? - .session_key) + .body) } async fn verify_access_key(&self, key: &str) -> Result { -- cgit v1.3.1