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 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.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.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, @NonNull io.micronaut.core.type.Argument<O> bodyType) io.micronaut.http.codec.MediaTypeCodecRegistrybooleanprotected <I> reactor.core.publisher.Mono<HttpRequest>mapToHttpRequest(io.micronaut.http.HttpRequest<I> request, 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, io.micronaut.core.type.Argument<O> bodyType) voidsetMediaTypeCodecRegistry(io.micronaut.http.codec.MediaTypeCodecRegistry mediaTypeCodecRegistry) 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
-
-
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.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.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
-
mapToHttpRequest
protected <I> reactor.core.publisher.Mono<HttpRequest> mapToHttpRequest(io.micronaut.http.HttpRequest<I> request, 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, @NonNull @NonNull 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(io.micronaut.http.HttpRequest<?> request, io.micronaut.core.type.Argument<O> bodyType)
-