Bug 1569466 - Implement Deserialize for ErrorStatus. r=ato

Implement Deserialize for ErrorStatus

Differential Revision: https://phabricator.services.mozilla.com/D39632

--HG--
extra : moz-landing-system : lando
This commit is contained in:
georgeroman 2019-07-29 09:35:15 +00:00
Родитель 719acf006d
Коммит ccc3d023a4
1 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -1,5 +1,6 @@
use base64::DecodeError;
use http::StatusCode;
use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use serde_json;
use std::borrow::Cow;
@ -149,6 +150,16 @@ impl Serialize for ErrorStatus {
}
}
impl<'de> Deserialize<'de> for ErrorStatus {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let error_string = String::deserialize(deserializer)?;
Ok(ErrorStatus::from(error_string))
}
}
impl ErrorStatus {
/// Returns the string serialisation of the error type.
pub fn error_code(&self) -> &'static str {