summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSergey Tsaplin <SergeyTsaplin@users.noreply.github.com>2019-05-31 20:00:46 +0300
committerDoug Tangren <d.tangren@gmail.com>2019-05-31 13:00:46 -0400
commit897f16a3a65dacd9a2d9f113659a443b5ade0cea (patch)
tree1f9b2a6fb31eaaeb2686f7d6552a15c79d8c2995 /src
parent00c304528485bfd7d6eb9e4605514b50de791255 (diff)
Fix build image response parsing error (#177)
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 687a0e0..4c324ce 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -146,11 +146,15 @@ impl<'a> Images<'a> {
Some((Body::from(bytes), tar())),
None::<iter::Empty<_>>,
)
- .and_then(|bytes| {
- serde_json::from_slice::<'_, Value>(&bytes[..])
- .map_err(Error::from)
- .into_future()
- }),
+ .map(|r| {
+ futures::stream::iter_result(
+ serde_json::Deserializer::from_slice(&r[..])
+ .into_iter::<Value>()
+ .collect::<Vec<_>>(),
+ )
+ .map_err(Error::from)
+ })
+ .flatten(),
) as Box<Stream<Item = Value, Error = Error> + Send>,
Err(e) => Box::new(futures::future::err(Error::IO(e)).into_stream())
as Box<Stream<Item = Value, Error = Error> + Send>,