Polish JacksonJsonDecoder

This commit is contained in:
Sebastien Deleuze
2016-06-29 14:19:12 +02:00
parent 1f2fbba89b
commit 76baf85cfb

View File

@@ -68,20 +68,16 @@ public class JacksonJsonDecoder extends AbstractDecoder<Object> {
JavaType javaType = typeFactory.constructType(elementType.getType());
ObjectReader reader = this.mapper.readerFor(javaType);
Flux<DataBuffer> stream = Flux.from(inputStream);
if (this.preProcessor != null) {
stream = this.preProcessor.decode(inputStream, elementType, mimeType, hints);
}
return stream.map(dataBuffer -> {
try {
Object value = reader.readValue(dataBuffer.asInputStream());
DataBufferUtils.release(dataBuffer);
return value;
}
catch (IOException e) {
throw new CodecException("Error while reading the data", e);
}
return this.preProcessor.decode(inputStream, elementType, mimeType, hints)
.map(dataBuffer -> {
try {
Object value = reader.readValue(dataBuffer.asInputStream());
DataBufferUtils.release(dataBuffer);
return value;
}
catch (IOException e) {
return Flux.error(new CodecException("Error while reading the data", e));
}
});
}