This commit is contained in:
2022-07-08 00:30:39 +00:00
committed by GitHub
parent 88330ee62c
commit 69376aca28
2 changed files with 12 additions and 4 deletions

View File

@@ -16,7 +16,10 @@ pub trait ResponseFor<T, R> {
#[async_trait]
pub trait ResponseJsonFor<T> {
async fn response_json(&self, req: Request<T>) -> Result<JsonValue, PixivDownloaderError>;
async fn response_json(
&self,
req: Request<T>,
) -> Result<Response<JsonValue>, PixivDownloaderError>;
}
#[async_trait]
@@ -27,6 +30,7 @@ where
{
async fn response(&self, req: Request<T>) -> Result<Response<Body>, PixivDownloaderError> {
let re = self.response_json(req).await?;
Ok(Response::new(Body::from(re.to_string())))
let (parts, body) = re.into_parts();
Ok(Response::from_parts(parts, Body::from(body.to_string())))
}
}

View File

@@ -4,6 +4,7 @@ use super::traits::ResponseJsonFor;
use crate::error::PixivDownloaderError;
use hyper::Body;
use hyper::Request;
use hyper::Response;
use json::JsonValue;
use regex::Regex;
@@ -19,8 +20,11 @@ impl VersionContext {
#[async_trait]
impl ResponseJsonFor<Body> for VersionContext {
async fn response_json(&self, _req: Request<Body>) -> Result<JsonValue, PixivDownloaderError> {
Ok(json::object! {"version": [0, 0, 1, 0]})
async fn response_json(
&self,
_req: Request<Body>,
) -> Result<Response<JsonValue>, PixivDownloaderError> {
Ok(Response::new(json::object! {"version": [0, 0, 1, 0]}))
}
}