Package io.micronaut.http.client.jdk
Class DefaultJdkHttpClient
java.lang.Object
io.micronaut.http.client.jdk.DefaultJdkHttpClient
- All Implemented Interfaces:
io.micronaut.context.LifeCycle<io.micronaut.http.client.HttpClient>,io.micronaut.http.client.HttpClient,JdkHttpClient,Closeable,AutoCloseable
HttpClient implementation for java.net.http.* HTTP Client.- Since:
- 4.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final HttpClientprotected final List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry>protected final Stringprotected final io.micronaut.http.client.HttpClientConfigurationprotected final Stringprotected final io.micronaut.core.convert.ConversionServiceprotected final CookieDecoderprotected final CookieManagerprotected final io.micronaut.http.filter.HttpClientFilterResolver<io.micronaut.http.client.filter.ClientFilterResolutionContext>static final Stringstatic final Stringprotected final io.micronaut.http.client.HttpVersionSelectionprotected final io.micronaut.http.client.LoadBalancerprotected final org.slf4j.Loggerprotected io.micronaut.http.codec.MediaTypeCodecRegistryprotected io.micronaut.http.body.MessageBodyHandlerRegistryprotected final io.micronaut.http.bind.RequestBinderRegistryprotected final JdkClientSslBuilderstatic final StringFields inherited from interface io.micronaut.http.client.HttpClient
DEFAULT_ERROR_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionDefaultJdkHttpClient(@Nullable io.micronaut.http.client.LoadBalancer loadBalancer, io.micronaut.http.client.HttpVersionSelection httpVersion, @NonNull io.micronaut.http.client.HttpClientConfiguration configuration, @Nullable String contextPath, @Nullable io.micronaut.http.filter.HttpClientFilterResolver<io.micronaut.http.client.filter.ClientFilterResolutionContext> filterResolver, @Nullable List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry> clientFilterEntries, io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.http.bind.RequestBinderRegistry requestBinderRegistry, String clientId, io.micronaut.core.convert.ConversionService conversionService, JdkClientSslBuilder sslBuilder, CookieDecoder cookieDecoder) DefaultJdkHttpClient(URI uri, io.micronaut.core.convert.ConversionService conversionService) DefaultJdkHttpClient(URI uri, io.micronaut.http.client.HttpClientConfiguration configuration, io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService) -
Method Summary
Modifier and TypeMethodDescriptionprotected <I,R extends io.micronaut.http.HttpResponse<?>>
org.reactivestreams.Publisher<R>applyFilterToResponsePublisher(io.micronaut.http.HttpRequest<I> request, URI requestURI, org.reactivestreams.Publisher<R> responsePublisher) <I,O, E> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<O>> exchange(@NonNull io.micronaut.http.HttpRequest<I> request, @NonNull io.micronaut.core.type.Argument<O> bodyType, @NonNull io.micronaut.core.type.Argument<E> errorType) protected <I,O> reactor.core.publisher.Flux<io.micronaut.http.HttpResponse<O>> exchangeImpl(io.micronaut.http.HttpRequest<I> request, @Nullable io.micronaut.core.type.Argument<O> bodyType) io.micronaut.http.codec.MediaTypeCodecRegistryio.micronaut.http.body.MessageBodyHandlerRegistrybooleanprotected <I> reactor.core.publisher.Mono<HttpRequest>mapToHttpRequest(io.micronaut.http.HttpRequest<I> request, @Nullable io.micronaut.core.type.Argument<?> bodyType) Convert the Micronaut request to a JDK request.protected reactor.core.publisher.Mono<URI>resolveRequestUri(io.micronaut.http.HttpRequest<?> request) protected <O> @NonNull io.micronaut.http.HttpResponse<O>response(HttpResponse<byte[]> netResponse, @NonNull io.micronaut.core.type.Argument<O> bodyType) Convert the JDK response to a Micronaut response.protected <O> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<O>>responsePublisher(io.micronaut.http.HttpRequest<?> request, @Nullable io.micronaut.core.type.Argument<O> bodyType) voidsetMediaTypeCodecRegistry(io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry) voidsetMessageBodyHandlerRegistry(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry) io.micronaut.http.client.BlockingHttpClientMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.http.client.HttpClient
exchange, exchange, exchange, exchange, exchange, refresh, retrieve, retrieve, retrieve, retrieve, retrieveMethods inherited from interface io.micronaut.context.LifeCycle
close, start, stop
-
Field Details
-
H2C_ERROR_MESSAGE
- See Also:
-
H3_ERROR_MESSAGE
- See Also:
-
WEIRD_ALPN_ERROR_MESSAGE
- See Also:
-
loadBalancer
protected final io.micronaut.http.client.LoadBalancer loadBalancer -
httpVersion
protected final io.micronaut.http.client.HttpVersionSelection httpVersion -
configuration
protected final io.micronaut.http.client.HttpClientConfiguration configuration -
contextPath
-
client
-
cookieManager
-
requestBinderRegistry
protected final io.micronaut.http.bind.RequestBinderRegistry requestBinderRegistry -
clientId
-
conversionService
protected final io.micronaut.core.convert.ConversionService conversionService -
sslBuilder
-
log
protected final org.slf4j.Logger log -
filterResolver
protected final io.micronaut.http.filter.HttpClientFilterResolver<io.micronaut.http.client.filter.ClientFilterResolutionContext> filterResolver -
clientFilterEntries
-
cookieDecoder
-
mediaTypeCodecRegistry
protected io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry -
messageBodyHandlerRegistry
protected io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry
-
-
Constructor Details
-
DefaultJdkHttpClient
public DefaultJdkHttpClient(@Nullable @Nullable io.micronaut.http.client.LoadBalancer loadBalancer, io.micronaut.http.client.HttpVersionSelection httpVersion, @NonNull @NonNull io.micronaut.http.client.HttpClientConfiguration configuration, @Nullable @Nullable String contextPath, @Nullable @Nullable io.micronaut.http.filter.HttpClientFilterResolver<io.micronaut.http.client.filter.ClientFilterResolutionContext> filterResolver, @Nullable @Nullable List<io.micronaut.http.filter.HttpFilterResolver.FilterEntry> clientFilterEntries, io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.http.bind.RequestBinderRegistry requestBinderRegistry, String clientId, io.micronaut.core.convert.ConversionService conversionService, JdkClientSslBuilder sslBuilder, CookieDecoder cookieDecoder) -
DefaultJdkHttpClient
-
DefaultJdkHttpClient
public DefaultJdkHttpClient(URI uri, io.micronaut.http.client.HttpClientConfiguration configuration, io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry, io.micronaut.core.convert.ConversionService conversionService)
-
-
Method Details
-
toBlocking
public io.micronaut.http.client.BlockingHttpClient toBlocking()- Specified by:
toBlockingin interfaceio.micronaut.http.client.HttpClient
-
exchange
public <I,O, org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<O>> exchangeE> (@NonNull @NonNull io.micronaut.http.HttpRequest<I> request, @NonNull @NonNull io.micronaut.core.type.Argument<O> bodyType, @NonNull @NonNull io.micronaut.core.type.Argument<E> errorType) - Specified by:
exchangein interfaceio.micronaut.http.client.HttpClient
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceio.micronaut.context.LifeCycle<io.micronaut.http.client.HttpClient>
-
getMediaTypeCodecRegistry
public io.micronaut.http.codec.MediaTypeCodecRegistry getMediaTypeCodecRegistry()- Returns:
- The
MediaTypeCodecRegistry
-
setMediaTypeCodecRegistry
public void setMediaTypeCodecRegistry(io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry) - Parameters:
mediaTypeCodecRegistry- TheMediaTypeCodecRegistry
-
getMessageBodyHandlerRegistry
public io.micronaut.http.body.MessageBodyHandlerRegistry getMessageBodyHandlerRegistry()- Returns:
- The
MessageBodyHandlerRegistry
-
setMessageBodyHandlerRegistry
public void setMessageBodyHandlerRegistry(io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry) - Parameters:
messageBodyHandlerRegistry- TheMessageBodyHandlerRegistry
-
mapToHttpRequest
protected <I> reactor.core.publisher.Mono<HttpRequest> mapToHttpRequest(@NonNull io.micronaut.http.HttpRequest<I> request, @Nullable @Nullable io.micronaut.core.type.Argument<?> bodyType) Convert the Micronaut request to a JDK request.- Type Parameters:
I- The body type- Parameters:
request- The Micronaut request objectbodyType- The body type- Returns:
- A JDK request object
-
resolveRequestUri
protected reactor.core.publisher.Mono<URI> resolveRequestUri(io.micronaut.http.HttpRequest<?> request) -
response
@NonNull protected <O> @NonNull io.micronaut.http.HttpResponse<O> response(@NonNull HttpResponse<byte[]> netResponse, @NonNull @NonNull io.micronaut.core.type.Argument<O> bodyType) Convert the JDK response to a Micronaut response.- Type Parameters:
O- The body type- Parameters:
netResponse- The JDK responsebodyType- The body type- Returns:
- A Micronaut response
-
exchangeImpl
protected <I,O> reactor.core.publisher.Flux<io.micronaut.http.HttpResponse<O>> exchangeImpl(@NonNull io.micronaut.http.HttpRequest<I> request, @Nullable @Nullable io.micronaut.core.type.Argument<O> bodyType) -
applyFilterToResponsePublisher
protected <I,R extends io.micronaut.http.HttpResponse<?>> org.reactivestreams.Publisher<R> applyFilterToResponsePublisher(io.micronaut.http.HttpRequest<I> request, URI requestURI, org.reactivestreams.Publisher<R> responsePublisher) -
responsePublisher
protected <O> org.reactivestreams.Publisher<io.micronaut.http.HttpResponse<O>> responsePublisher(@NonNull io.micronaut.http.HttpRequest<?> request, @Nullable @Nullable io.micronaut.core.type.Argument<O> bodyType)
-