Optional<B> existing = getBody(); final boolean isOptional = argument.getType() == Optional.class; final Argument finalArgument = isOptional ? argument.getFirstTypeVariable().orElse(argument) : argument; Optional<T> converted; if (existing.isPresent()) { converted = getBody().flatMap(b -> { return convertByteBuf(bytebuf, finalArgument); } else { final Optional opt = ConversionService.SHARED.convert(b, ConversionContext.of(finalArgument)); if (!opt.isPresent()) { ByteBuf content = nettyHttpResponse.content(); return convertByteBuf(content, finalArgument); } else { ByteBuf content = nettyHttpResponse.content(); converted = convertByteBuf(content, finalArgument);
Optional<MediaType> contentType = getContentType(); if (content.refCnt() == 0 || content.readableBytes() == 0) { if (LOG.isTraceEnabled()) { if (mediaTypeCodecRegistry != null && hasContentType) { if (CharSequence.class.isAssignableFrom(type.getType())) { Charset charset = getContentType().flatMap(MediaType::getCharset).orElse(StandardCharsets.UTF_8); return Optional.of(content.toString(charset)); } else {
@Override public Optional<NettyMutableHttpResponse> convert(FullNettyClientHttpResponse object, Class<NettyMutableHttpResponse> targetType, ConversionContext context) { return Optional.of(new NettyMutableHttpResponse(object.getNativeResponse(), conversionService).body(object.getBody())); } }
if (responseBodyType.isPresent()) { Argument<B> finalResponseBodyType = (Argument<B>) responseBodyType.get(); this.body = !errorStatus || isParseableBodyType(finalResponseBodyType.getType()) ? getBody(finalResponseBodyType).orElse(null) : null; } else { this.body = null; this.body = !errorStatus || isParseableBodyType(rawBodyType) ? getBody(bodyType).orElse(null) : null;
@Override public <T> Optional<T> getBody(Class<T> type) { if (type == null) { return Optional.empty(); } return getBody(Argument.of(type)); }
@Override public <I, O, E> io.micronaut.http.HttpResponse<O> exchange(io.micronaut.http.HttpRequest<I> request, Argument<O> bodyType, Argument<E> errorType) { Flowable<io.micronaut.http.HttpResponse<O>> publisher = DefaultHttpClient.this.exchange(request, bodyType, errorType); return publisher.doOnNext((res) -> { Optional<ByteBuf> byteBuf = res.getBody(ByteBuf.class); byteBuf.ifPresent(bb -> { if (bb.refCnt() > 0) { ReferenceCountUtil.safeRelease(bb); } }); if (res instanceof FullNettyClientHttpResponse) { ((FullNettyClientHttpResponse) res).onComplete(); } }).blockingFirst(); } };
if (responseBodyType.isPresent()) { Argument<B> finalResponseBodyType = (Argument<B>) responseBodyType.get(); this.body = !errorStatus || isParseableBodyType(finalResponseBodyType.getType()) ? getBody(finalResponseBodyType).orElse(null) : null; } else { this.body = null; this.body = !errorStatus || isParseableBodyType(rawBodyType) ? getBody(bodyType).orElse(null) : null;
@Override public <T> Optional<T> getBody(Class<T> type) { if (type == null) { return Optional.empty(); } return getBody(Argument.of(type)); }
@Override public <I, O, E> io.micronaut.http.HttpResponse<O> exchange(io.micronaut.http.HttpRequest<I> request, Argument<O> bodyType, Argument<E> errorType) { Flowable<io.micronaut.http.HttpResponse<O>> publisher = DefaultHttpClient.this.exchange(request, bodyType, errorType); return publisher.doOnNext((res) -> { Optional<ByteBuf> byteBuf = res.getBody(ByteBuf.class); byteBuf.ifPresent(bb -> { if (bb.refCnt() > 0) { ReferenceCountUtil.safeRelease(bb); } }); if (res instanceof FullNettyClientHttpResponse) { ((FullNettyClientHttpResponse) res).onComplete(); } }).blockingFirst(); } };
@Override public Optional<NettyMutableHttpResponse> convert(FullNettyClientHttpResponse object, Class<NettyMutableHttpResponse> targetType, ConversionContext context) { return Optional.of(new NettyMutableHttpResponse(object.getNativeResponse(), conversionService).body(object.getBody())); } }
if (responseBodyType.isPresent()) { Argument<B> finalResponseBodyType = (Argument<B>) responseBodyType.get(); this.body = !errorStatus || isParseableBodyType(finalResponseBodyType.getType()) ? getBody(finalResponseBodyType).orElse(null) : null; } else { this.body = null; this.body = !errorStatus || isParseableBodyType(rawBodyType) ? getBody(bodyType).orElse(null) : null;
Optional<B> existing = getBody(); if (existing.isPresent()) { return getBody().flatMap(b -> { if (b instanceof ByteBuffer) { ByteBuf bytebuf = (ByteBuf) ((ByteBuffer) b).asNativeBuffer(); return convertByteBuf(bytebuf, argument); return convertByteBuf(content, type); } else { ByteBuf content = nettyHttpResponse.content(); return convertByteBuf(content, type);
@Override public <T> Optional<T> getBody(Class<T> type) { if (type == null) { return Optional.empty(); } return getBody(Argument.of(type)); }
@Override public <I, O, E> io.micronaut.http.HttpResponse<O> exchange(io.micronaut.http.HttpRequest<I> request, Argument<O> bodyType, Argument<E> errorType) { Flowable<io.micronaut.http.HttpResponse<O>> publisher = DefaultHttpClient.this.exchange(request, bodyType, errorType); return publisher.doOnNext((res) -> { Optional<ByteBuf> byteBuf = res.getBody(ByteBuf.class); byteBuf.ifPresent(bb -> { if (bb.refCnt() > 0) { ReferenceCountUtil.safeRelease(bb); } }); if (res instanceof FullNettyClientHttpResponse) { ((FullNettyClientHttpResponse) res).onComplete(); } }).blockingFirst(); } };
Optional<MediaType> contentType = getContentType(); if (content.refCnt() == 0 || content.readableBytes() == 0) { if (LOG.isTraceEnabled()) { if (mediaTypeCodecRegistry != null && hasContentType) { if (CharSequence.class.isAssignableFrom(type.getType())) { Charset charset = getContentType().flatMap(MediaType::getCharset).orElse(StandardCharsets.UTF_8); return Optional.of(content.toString(charset)); } else {
@Override public Optional<NettyMutableHttpResponse> convert(FullNettyClientHttpResponse object, Class<NettyMutableHttpResponse> targetType, ConversionContext context) { return Optional.of(new NettyMutableHttpResponse(object.getNativeResponse(), conversionService).body(object.getBody())); } }
Optional<B> existing = getBody(); final boolean isOptional = argument.getType() == Optional.class; final Argument finalArgument = isOptional ? argument.getFirstTypeVariable().orElse(argument) : argument; Optional<T> converted; if (existing.isPresent()) { converted = getBody().flatMap(b -> { return convertByteBuf(bytebuf, finalArgument); } else { final Optional opt = ConversionService.SHARED.convert(b, ConversionContext.of(finalArgument)); if (!opt.isPresent()) { ByteBuf content = nettyHttpResponse.content(); return convertByteBuf(content, finalArgument); } else { ByteBuf content = nettyHttpResponse.content(); converted = convertByteBuf(content, finalArgument);
Optional<MediaType> contentType = getContentType(); if (content.refCnt() == 0 || content.readableBytes() == 0) { if (LOG.isTraceEnabled()) { if (mediaTypeCodecRegistry != null && hasContentType) { if (CharSequence.class.isAssignableFrom(type.getType())) { Charset charset = getContentType().flatMap(MediaType::getCharset).orElse(StandardCharsets.UTF_8); return Optional.of(content.toString(charset)); } else {