Merge pull request #2 from florianjacob/fix-statuscode-error

Throw StatusCode error if http request was not successful
This commit is contained in:
Jimmy Cuadra 2018-05-18 01:30:58 -07:00 committed by GitHub
commit f9c30c7052
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -243,18 +243,22 @@ impl ToTokens for Api {
#[allow(unused_variables)] #[allow(unused_variables)]
fn future_from(http_response: ::http::Response<Vec<u8>>) fn future_from(http_response: ::http::Response<Vec<u8>>)
-> Box<_Future<Item = Self, Error = Self::Error>> { -> Box<_Future<Item = Self, Error = Self::Error>> {
#extract_headers if http_response.status().is_success() {
#extract_headers
#deserialize_response_body #deserialize_response_body
.and_then(move |response_body| { .and_then(move |response_body| {
let response = Response { let response = Response {
#response_init_fields #response_init_fields
}; };
Ok(response) Ok(response)
}); });
Box::new(future_response) Box::new(future_response)
} else {
Box::new(::futures::future::err(::ruma_api::Error::StatusCode(http_response.status().clone())))
}
} }
} }