From 4893be93f86543f9a9e3c5d7205afba769b84aa6 Mon Sep 17 00:00:00 2001 From: Jimmy Cuadra Date: Fri, 30 Jun 2017 18:14:24 -0700 Subject: [PATCH] Impl conversion from serde_urlencoded errors. --- Cargo.toml | 1 + src/lib.rs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 08273b2d..47c9570f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,7 @@ version = "0.3.0" futures = "0.1.14" hyper = "0.11" serde_json = "1.0.2" +serde_urlencoded = "0.5.1" [dev-dependencies] ruma-identifiers = "0.11" diff --git a/src/lib.rs b/src/lib.rs index 9acb415f..5a1e6f76 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,6 +19,7 @@ extern crate hyper; #[cfg(test)] extern crate serde; #[cfg(test)] #[macro_use] extern crate serde_derive; extern crate serde_json; +extern crate serde_urlencoded; use std::convert::TryInto; use std::io; @@ -48,6 +49,8 @@ pub enum Error { Io(io::Error), /// A Serde JSON error. SerdeJson(serde_json::Error), + /// A Serde URL encoding error. + SerdeUrlEncoded(serde_urlencoded::ser::Error), /// An HTTP status code indicating error. StatusCode(StatusCode), /// A Uri error. @@ -72,6 +75,12 @@ impl From for Error { } } +impl From for Error { + fn from(error: serde_urlencoded::ser::Error) -> Self { + Error::SerdeUrlEncoded(error) + } +} + impl From for Error { fn from(error: UriError) -> Self { Error::Uri(error)