-
Bug
-
Resolution: Fixed
-
P3
-
None
-
b06
-
Verified
The javadoc example for HttpResponse.BodySubscribers::mapping will wedge the response waiting for MappingSubscribers.getBody() to complete:
public static <W> BodySubscriber<W> asJSON(Class<W> targetType) {
BodySubscriber<InputStream> upstream = BodySubscribers.ofInputStream();
BodySubscriber<W> downstream = BodySubscribers.mapping(
upstream,
(InputStream is) -> {
try (InputStream stream = is) {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(stream, targetType);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
});
return downstream;
} }
public static <W> BodySubscriber<W> asJSON(Class<W> targetType) {
BodySubscriber<InputStream> upstream = BodySubscribers.ofInputStream();
BodySubscriber<W> downstream = BodySubscribers.mapping(
upstream,
(InputStream is) -> {
try (InputStream stream = is) {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(stream, targetType);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
});
return downstream;
} }
- relates to
-
JDK-8217799 HttpClient: consider adding an HttpResponse::map method to map an HttpResponse<T> to an HttpResponse<U>
-
- Open
-
-
JDK-8217627 HttpClient: The API documentation of BodySubscribers::mapping promotes bad behavior
-
- Closed
-