From 4ede307efb87bad2627190665279123e588a3494 Mon Sep 17 00:00:00 2001 From: Ferris Tseng Date: Mon, 22 Feb 2021 22:56:04 -0500 Subject: centralize errors in prelude as much as possible --- ipfs-api-backend-hyper/Cargo.toml | 4 +--- ipfs-api-backend-hyper/src/backend.rs | 24 ++++++++++++------------ ipfs-api-backend-hyper/src/error.rs | 13 ------------- 3 files changed, 13 insertions(+), 28 deletions(-) (limited to 'ipfs-api-backend-hyper') diff --git a/ipfs-api-backend-hyper/Cargo.toml b/ipfs-api-backend-hyper/Cargo.toml index 9ebd7d0..03ee234 100644 --- a/ipfs-api-backend-hyper/Cargo.toml +++ b/ipfs-api-backend-hyper/Cargo.toml @@ -20,7 +20,5 @@ hyper = { version = "0.14", features = ["http1", "http2", "c hyper-multipart-rfc7578 = "0.5" hyper-tls = "0.5" ipfs-api-prelude = { version = "0.1.0", path = "../ipfs-api-prelude" } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -serde_urlencoded = "0.7" +serde = "1.0" thiserror = "1.0" diff --git a/ipfs-api-backend-hyper/src/backend.rs b/ipfs-api-backend-hyper/src/backend.rs index 047fbb6..bbe9a56 100644 --- a/ipfs-api-backend-hyper/src/backend.rs +++ b/ipfs-api-backend-hyper/src/backend.rs @@ -55,18 +55,18 @@ impl Backend for HyperBackend { where Req: ApiRequest, { - req.absolute_url(&self.base).and_then(move |url| { - let builder = http::Request::builder(); - let builder = builder.method(Req::METHOD.clone()).uri(url); - - let req = if let Some(form) = form { - form.set_body_convert::(builder) - } else { - builder.body(hyper::Body::empty()) - }; - - req.map_err(From::from) - }) + let url = req.absolute_url(&self.base)?; + + let builder = http::Request::builder(); + let builder = builder.method(Req::METHOD.clone()).uri(url); + + let req = if let Some(form) = form { + form.set_body_convert::(builder) + } else { + builder.body(hyper::Body::empty()) + }?; + + Ok(req) } fn get_header<'a>(res: &'a Self::HttpResponse, key: HeaderName) -> Option<&'a HeaderValue> { diff --git a/ipfs-api-backend-hyper/src/error.rs b/ipfs-api-backend-hyper/src/error.rs index 9db1959..4760fc4 100644 --- a/ipfs-api-backend-hyper/src/error.rs +++ b/ipfs-api-backend-hyper/src/error.rs @@ -6,7 +6,6 @@ // copied, modified, or distributed except according to those terms. // -use std::string::FromUtf8Error; use thiserror::Error; #[derive(Debug, Error)] @@ -20,18 +19,6 @@ pub enum Error { #[error("http error `{0}`")] Http(#[from] http::Error), - #[error("json parse error `{0}`")] - Parse(#[from] serde_json::Error), - - #[error("utf8 decoding error `{0}`")] - ParseUtf8(#[from] FromUtf8Error), - - #[error("uri error `{0}`")] - Url(#[from] http::uri::InvalidUri), - - #[error("url encoding error `{0}`")] - EncodeUrl(#[from] serde_urlencoded::ser::Error), - #[error("ipfs client error `{0}`")] IpfsClientError(#[from] ipfs_api_prelude::Error), } -- cgit v1.2.3