From e67153693983c8fff3d45f22e3fe8cd3e3a00418 Mon Sep 17 00:00:00 2001 From: jakka Date: Wed, 17 Sep 2025 22:37:25 +0300 Subject: fixed get_service api reponse parsing --- src/client.rs | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'src/client.rs') diff --git a/src/client.rs b/src/client.rs index d9b2ed5..a8061e4 100644 --- a/src/client.rs +++ b/src/client.rs @@ -2,6 +2,7 @@ use std::path::PathBuf; use async_trait::async_trait; use reqwest::{Body, RequestBuilder}; +use serde_json::Value; use tokio_util::codec::{BytesCodec, FramedRead}; use crate::{traits::*, types::*}; @@ -123,12 +124,14 @@ impl AccessManagement for HydrusClient { req_url.push_str("get_service?service_name="); req_url.push_str(&urlencoding::encode(name)); - Ok(self - .set_get_request_key(&req_url)? - .send() - .await? - .json::() - .await?) + Ok(serde_json::from_value::( + self.set_get_request_key(&req_url)? + .send() + .await? + .json::() + .await?["service"] + .take(), + )?) } async fn get_service_key(&self, key: &str) -> Result { @@ -136,12 +139,14 @@ impl AccessManagement for HydrusClient { req_url.push_str("get_service?service_key="); req_url.push_str(&urlencoding::encode(key)); - Ok(self - .set_get_request_key(&req_url)? - .send() - .await? - .json::() - .await?) + Ok(serde_json::from_value::( + self.set_get_request_key(&req_url)? + .send() + .await? + .json::() + .await?["service"] + .take(), + )?) } async fn get_services(&self) -> Result> { -- cgit v1.3.1