APIdia Launch Partner
Top Fields Constructors Methods
jdk.internal.net.http

public Class HttpRequestImpl

extends HttpRequest
implements WebSocketRequest
Class Inheritance
All Implemented Interfaces
jdk.internal.net.http.websocket.WebSocketRequest
Imports
java.io.IOException, java.net.Authenticator, .InetSocketAddress, .Proxy, .ProxySelector, .URI, java.net.http.HttpClient.Version, .HttpOption, .HttpOption.Http3DiscoveryMode, .HttpClient, .HttpHeaders, .HttpRequest, java.time.Duration, java.util.List, .Locale, .Map, .Objects, .Optional, java.util.function.BiPredicate, jdk.internal.net.http.common.Alpns, .HttpHeadersBuilder, .Utils, jdk.internal.net.http.websocket.WebSocketRequest

Field Summary

Modifier and TypeField and Description
private final InetSocketAddress
pack-priv final boolean
private volatile boolean
private final String
private final Map<HttpOption<?>, Object>
private volatile Proxy
pack-priv final HttpRequest.BodyPublisher
pack-priv final boolean
private final HttpHeadersBuilder
private final Duration
private final URI
public static final String
USER_AGENT

The value of the User-Agent header for all requests sent by the client.

private final HttpHeaders
private volatile boolean
private volatile boolean
private final Optional<HttpClient.Version>

Constructor Summary

AccessConstructor and Description
public
HttpRequestImpl(HttpRequestBuilderImpl builder)

Creates an HttpRequestImpl from the given builder.

public
HttpRequestImpl(HttpRequest request, ProxySelector ps)

Creates an HttpRequestImpl from the given request.

private
HttpRequestImpl(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody)

Creates a HttpRequestImpl using fields of an existing request impl.

private
HttpRequestImpl(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody, Optional<BiPredicate<String, String>> redirectHeadersFilter)

pack-priv
private

Method Summary

Modifier and TypeMethod and Description
pack-priv InetSocketAddress
public Optional<HttpRequest.BodyPublisher>
bodyPublisher()

Implements abstract java.net.http.HttpRequest.bodyPublisher.

Returns an Optional containing the BodyPublisher set on this request.

private static void
pack-priv static HttpRequestImpl
createPushRequest(HttpRequestImpl parent, HttpHeaders headers)

Creates a HttpRequestImpl from the given set of Headers and the associated "parent" request.

public boolean
expectContinue()

Implements abstract java.net.http.HttpRequest.expectContinue.

Returns this request's expect continue setting.

pack-priv InetSocketAddress
public <T> Optional<T>
getOption(HttpOption<T> option)

Overrides java.net.http.HttpRequest.getOption.

Returns the value configured on this request for the given option, if any.

pack-priv HttpHeadersBuilder
pack-priv HttpHeaders
public boolean
public HttpHeaders
headers()

Implements abstract java.net.http.HttpRequest.headers.

The (user-accessible) request headers that this request was (or will be) sent with.

pack-priv final HttpOption.Http3DiscoveryMode
pack-priv final boolean
pack-priv final boolean
public void
pack-priv boolean
public String
method()

Implements abstract java.net.http.HttpRequest.method.

Returns the request method for this request.

public static HttpRequestImpl
newInstanceForAuthentication(HttpRequestImpl other)

Returns a new instance suitable for authentication.

public static HttpRequestImpl
newInstanceForRedirection(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody)

Returns a new instance suitable for redirection.

private Map<HttpOption<?>, Object>
pack-priv InetSocketAddress
private HttpRequest.BodyPublisher
private static Proxy
retrieveProxy(HttpRequest request, ProxySelector ps, URI uri)

Retrieves a copy of the proxy either from the given HttpRequest or ProxySelector, if there is one.

pack-priv boolean
pack-priv void
setH2Upgrade(Exchange<?> exchange)

public void
public void
public void
setUserSetAuthFlag(Authenticator.RequestorType type, boolean value)

These flags are set if the user set an Authorization or Proxy-Authorization header overriding headers produced by an Authenticator that was also set The values are checked in the AuthenticationFilter which tells the library to return whatever response received to the user instead of causing request to be resent, in case of error.

public Optional<Duration>
timeout()

Implements abstract java.net.http.HttpRequest.timeout.

Returns an Optional containing this request's timeout duration.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public URI
uri()

Implements abstract java.net.http.HttpRequest.uri.

Returns this request's URI.

private static String
public Optional<HttpClient.Version>
version()

Implements abstract java.net.http.HttpRequest.version.

Returns an Optional containing the HTTP protocol version that will be requested for this HttpRequest.

Inherited from java.net.http.HttpRequest:
equalshashCodenewBuildernewBuildernewBuilder

Field Detail

authorityback to summary
private final InetSocketAddress authority
expectContinueback to summary
pack-priv final boolean expectContinue
isWebSocketback to summary
private volatile boolean isWebSocket
methodback to summary
private final String method
optionsback to summary
private final Map<HttpOption<?>, Object> options
proxyback to summary
private volatile Proxy proxy
requestPublisherback to summary
pack-priv final HttpRequest.BodyPublisher requestPublisher
secureback to summary
pack-priv final boolean secure
systemHeadersBuilderback to summary
private final HttpHeadersBuilder systemHeadersBuilder
timeoutback to summary
private final Duration timeout
uriback to summary
private final URI uri
USER_AGENTback to summary
public static final String USER_AGENT

The value of the User-Agent header for all requests sent by the client.

userHeadersback to summary
private final HttpHeaders userHeaders
userSetAuthorizationback to summary
private volatile boolean userSetAuthorization
userSetProxyAuthorizationback to summary
private volatile boolean userSetProxyAuthorization
versionback to summary
private final Optional<HttpClient.Version> version

Constructor Detail

HttpRequestImplback to summary
public HttpRequestImpl(HttpRequestBuilderImpl builder)

Creates an HttpRequestImpl from the given builder.

HttpRequestImplback to summary
public HttpRequestImpl(HttpRequest request, ProxySelector ps)

Creates an HttpRequestImpl from the given request.

HttpRequestImplback to summary
private HttpRequestImpl(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody)

Creates a HttpRequestImpl using fields of an existing request impl. The newly created HttpRequestImpl does not copy the system headers.

HttpRequestImplback to summary
private HttpRequestImpl(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody, Optional<BiPredicate<String, String>> redirectHeadersFilter)
HttpRequestImplback to summary
pack-priv HttpRequestImpl(String method, InetSocketAddress authority, Utils.ProxyHeaders headers)
HttpRequestImplback to summary
private HttpRequestImpl(HttpRequestImpl parent, HttpHeaders headers) throws IOException

Method Detail

authorityback to summary
pack-priv InetSocketAddress authority()
bodyPublisherback to summary
public Optional<HttpRequest.BodyPublisher> bodyPublisher()

Implements abstract java.net.http.HttpRequest.bodyPublisher.

Doc from java.net.http.HttpRequest.bodyPublisher.

Returns an Optional containing the BodyPublisher set on this request. If no BodyPublisher was set in the requests's builder, then the Optional is empty.

Annotations
@Override
checkTimeoutback to summary
private static void checkTimeout(Duration duration)
createPushRequestback to summary
pack-priv static HttpRequestImpl createPushRequest(HttpRequestImpl parent, HttpHeaders headers) throws IOException

Creates a HttpRequestImpl from the given set of Headers and the associated "parent" request. Fields not taken from the headers are taken from the parent.

expectContinueback to summary
public boolean expectContinue()

Implements abstract java.net.http.HttpRequest.expectContinue.

Doc from java.net.http.HttpRequest.expectContinue.

Returns this request's expect continue setting.

Annotations
@Override
getAddressback to summary
pack-priv InetSocketAddress getAddress()
getOptionback to summary
public <T> Optional<T> getOption(HttpOption<T> option)

Overrides java.net.http.HttpRequest.getOption.

Doc from java.net.http.HttpRequest.getOption.

Returns the value configured on this request for the given option, if any.

Annotations
@Override
getSystemHeadersBuilderback to summary
pack-priv HttpHeadersBuilder getSystemHeadersBuilder()
getUserHeadersback to summary
pack-priv HttpHeaders getUserHeaders()
getUserSetAuthFlagback to summary
public boolean getUserSetAuthFlag(Authenticator.RequestorType type)
headersback to summary
public HttpHeaders headers()

Implements abstract java.net.http.HttpRequest.headers.

Doc from java.net.http.HttpRequest.headers.

The (user-accessible) request headers that this request was (or will be) sent with.

Annotations
@Override
http3Discoveryback to summary
pack-priv final HttpOption.Http3DiscoveryMode http3Discovery()
isConnectback to summary
pack-priv final boolean isConnect()
isHttp3Onlyback to summary
pack-priv final boolean isHttp3Only(HttpClient.Version version)
isWebSocketback to summary
public void isWebSocket(boolean is)

Implements jdk.internal.net.http.websocket.WebSocketRequest.isWebSocket.

Annotations
@Override
isWebSocketback to summary
pack-priv boolean isWebSocket()
methodback to summary
public String method()

Implements abstract java.net.http.HttpRequest.method.

Returns the request method for this request. If not set explicitly, the default method for any request is "GET".

Annotations
@Override
newInstanceForAuthenticationback to summary
public static HttpRequestImpl newInstanceForAuthentication(HttpRequestImpl other)

Returns a new instance suitable for authentication.

newInstanceForRedirectionback to summary
public static HttpRequestImpl newInstanceForRedirection(URI uri, String method, HttpRequestImpl other, boolean mayHaveBody)

Returns a new instance suitable for redirection.

optionsForback to summary
private Map<HttpOption<?>, Object> optionsFor(URI uri)
proxyback to summary
pack-priv InetSocketAddress proxy()
publisherback to summary
private HttpRequest.BodyPublisher publisher(HttpRequestImpl other)
retrieveProxyback to summary
private static Proxy retrieveProxy(HttpRequest request, ProxySelector ps, URI uri)

Retrieves a copy of the proxy either from the given HttpRequest or ProxySelector, if there is one.

secureback to summary
pack-priv boolean secure()
setH2Upgradeback to summary
pack-priv void setH2Upgrade(Exchange<?> exchange)
setProxyback to summary
public void setProxy(Proxy proxy)

Implements jdk.internal.net.http.websocket.WebSocketRequest.setProxy.

Annotations
@Override
setSystemHeaderback to summary
public void setSystemHeader(String name, String value)

Implements jdk.internal.net.http.websocket.WebSocketRequest.setSystemHeader.

Annotations
@Override
setUserSetAuthFlagback to summary
public void setUserSetAuthFlag(Authenticator.RequestorType type, boolean value)

These flags are set if the user set an Authorization or Proxy-Authorization header overriding headers produced by an Authenticator that was also set The values are checked in the AuthenticationFilter which tells the library to return whatever response received to the user instead of causing request to be resent, in case of error.

timeoutback to summary
public Optional<Duration> timeout()

Implements abstract java.net.http.HttpRequest.timeout.

Doc from java.net.http.HttpRequest.timeout.

Returns an Optional containing this request's timeout duration. If the timeout duration was not set in the request's builder, then the Optional is empty.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
uriback to summary
public URI uri()

Implements abstract java.net.http.HttpRequest.uri.

Doc from java.net.http.HttpRequest.uri.

Returns this request's URI.

Annotations
@Override
userAgentback to summary
private static String userAgent()
versionback to summary
public Optional<HttpClient.Version> version()

Implements abstract java.net.http.HttpRequest.version.

Doc from java.net.http.HttpRequest.version.

Returns an Optional containing the HTTP protocol version that will be requested for this HttpRequest. If the version was not set in the request's builder, then the Optional is empty. In that case, the version requested will be that of the sending HttpClient. The corresponding HttpResponse should be queried to determine the version that was actually used.

Annotations
@Override