225 Commits

Author SHA1 Message Date
Fairoz Matte
08f65a59a7 8277313: Validate header failed for test/jdk/java/net/httpclient/HeadTest.java
Reviewed-by: jdv
2021-11-17 06:13:26 +00:00
Jaikiran Pai
23e5117a55 8276559: (httpclient) Consider adding an HttpRequest.Builder.HEAD method to build a HEAD request.
Reviewed-by: cstein, dfuchs
2021-11-17 03:20:40 +00:00
Daniel Fuchs
db9834ff82 8258951: java/net/httpclient/HandshakeFailureTest.java failed with "RuntimeException: Not found expected SSLHandshakeException in java.io.IOException"
Reviewed-by: chegar
2021-08-20 09:05:00 +00:00
Thejasvi Voniadka
4e18ec26dd 8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
Reviewed-by: dfuchs, vtewari
2021-07-08 06:01:31 +00:00
Michael McMahon
2d088fa91d 8268294: Reusing HttpClient in a WebSocket.Listener hangs.
Reviewed-by: dfuchs
2021-06-17 07:13:59 +00:00
Daniel Fuchs
8ea0606aba 8268714: [macos-aarch64] 7 java/net/httpclient/websocket tests failed
Reviewed-by: chegar, michaelm
2021-06-16 17:24:06 +00:00
Daniel Fuchs
da043e99b8 8268555: Update HttpClient tests that use ITestContext to jtreg 6+1
Reviewed-by: chegar
2021-06-11 08:42:14 +00:00
Daniel Fuchs
d4b4caecad 8268023: Improve diagnostic for HandshakeFailureTest
Reviewed-by: chegar
2021-06-01 17:55:36 +00:00
Daniel Fuchs
9d8ad2ed62 8267990: Revisit some uses of synchronized in the HttpClient API
Reviewed-by: chegar
2021-06-01 17:10:38 +00:00
Daniel Fuchs
24bf35f862 8265367: [macos-aarch64] 3 java/net/httpclient/websocket tests fail with "IOException: No buffer space available"
Reviewed-by: chegar
2021-05-28 14:21:11 +00:00
Daniel Fuchs
0544a732a4 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface
Reviewed-by: chegar
2021-04-30 17:21:55 +00:00
Daniel Fuchs
01415f33e3 8266250: WebSocketTest and WebSocketProxyTest call assertEquals(List<byte[]>, List<byte[]>)
Reviewed-by: prappo
2021-04-29 16:15:06 +00:00
Michael McMahon
e55aa41f57 8263899: HttpClient throws NPE in AuthenticationFilter when parsing www-authenticate head
Reviewed-by: dfuchs, chegar
2021-03-24 11:59:19 +00:00
Michael McMahon
bd7a184b98 8263442: Potential bug in jdk.internal.net.http.common.Utils.CONTEXT_RESTRICTED
Reviewed-by: dfuchs
2021-03-23 13:25:56 +00:00
Daniel Fuchs
0d2dbd2995 8262027: Improve how HttpConnection detects a closed channel when taking/returning a connection to the pool
Reviewed-by: chegar, michaelm
2021-02-24 10:50:35 +00:00
Clive Verghese
63f8fc87cd 8259662: Don't wrap SocketExceptions into SSLExceptions in SSLSocketImpl
Reviewed-by: xuelei
2021-02-22 18:36:30 +00:00
Yasumasa Suenaga
e3b548a68b 8257736: InputStream from BodyPublishers.ofInputStream() leaks when IOE happens
Reviewed-by: dfuchs, chegar
2021-01-15 01:58:36 +00:00
Roger Riggs
876c7fb5f7 8259493: [test] Use HexFormat instead of adhoc hex utilities in network code and locale SoftKeys
Reviewed-by: lancea, naoto
2021-01-08 21:31:37 +00:00
Daniel Fuchs
4a839e95de 8256459: java/net/httpclient/ManyRequests.java and java/net/httpclient/LineBodyHandlerTest.java fail infrequently with java.net.ConnectException: Connection timed out: no further information
Reviewed-by: chegar
2020-12-10 10:09:29 +00:00
Daniel Fuchs
fab6158c19 8236413: AbstractConnectTimeout should tolerate both NoRouteToHostException and UnresolvedAddressException
Reviewed-by: aefimov, michaelm
2020-12-08 16:36:04 +00:00
Daniel Fuchs
566d77a2ae 8254802: ThrowingPushPromisesAsStringCustom.java fails in "try throwing in GET_BODY"
Reviewed-by: michaelm
2020-12-07 09:58:16 +00:00
Sean Mullan
3a4b90f086 8202343: Disable TLS 1.0 and 1.1
Reviewed-by: xuelei, dfuchs, coffeys
2020-11-19 14:15:57 +00:00
Patrick Concannon
9fe2d31d6e 8252304: Seed an HttpRequest.Builder from an existing HttpRequest
Co-authored-by: Chris Hegarty <chegar@openjdk.org>
Reviewed-by: chegar, dfuchs, michaelm
2020-11-19 09:35:49 +00:00
Daniel Fuchs
1c47244b01 8255244: HttpClient: Response headers contain incorrectly encoded Unicode characters
Reviewed-by: chegar, michaelm
2020-11-13 15:10:41 +00:00
Patrick Concannon
5973e91cc3 8253005: Add @throws IOException in javadoc for HttpEchange.sendResponseHeaders
Reviewed-by: dfuchs
2020-11-13 11:31:25 +00:00
Jamil Nimeh
d6cef99050 8245417: Improve certificate chain handling
Co-authored-by: Hai-may Chao <hai-may.chao@oracle.com>
Reviewed-by: mullan, jnimeh
2020-10-20 14:58:39 -07:00
Daniel Fuchs
4184959d85 8252374: Add a new factory method to concatenate a sequence of BodyPublisher instances into a single publisher.
Reviewed-by: chegar
2020-10-12 12:52:55 +00:00
Daniel Fuchs
80d889189a 8245462: HttpClient send throws InterruptedException when interrupted but does not cancel request
Allows an HTTP operation to be cancelled by calling CompletableFuture::cancel(true)

Reviewed-by: michaelm, chegar, alanb
2020-08-28 10:48:17 +01:00
Rahul Yadav
b328bc14a0 8251715: Throw UncheckedIOException in place of InternalError when HttpClient fails due to unavailability of underlying resources required by SSLContext
This fix updates jdk.internal.net.http.HttpClientImpl to throw an UncheckedIOException instead of InternalError.

Reviewed-by: chegar, dfuchs
2020-08-18 16:44:42 +01:00
Rahul Yadav
8e687450d6 8248006: Revisit exceptions thrown when creating an HttpClient fails due to unavailability of underlying resources
This fix updates jdk.internal.net.http.HttpClientImpl to throw an UncheckedIOException instead of InternalError.

Reviewed-by: chegar, dfuchs
2020-08-10 15:15:10 +01:00
Daniel Fuchs
77c46ea911 8229822: ThrowingPushPromises tests sometimes fail due to EOF
SocketTube is fixed to cater for errors caused by pausing/resuming events on an asynchronously closed connection, from within the selector's manager thread. Http2Connection and Stream are fixed to prevent sending a DataFrame on a stream after Reset has been sent.

Reviewed-by: chegar
2020-08-07 16:16:45 +01:00
Daniel Fuchs
45c89daf72 8249786: java/net/httpclient/websocket/PendingPingTextClose.java fails very infrequently
TransportImpl is modified to make sure the CLOSED state is recorded before the channel is closed. The tests are modified to enable their retry mechanism on windows, similar to what was done previously for macOS.

Reviewed-by: prappo, chegar
2020-08-07 15:09:19 +01:00
Rahul Yadav
c07ce7eec7 8245245: Websocket can lose the URL encoding of URI query parameters
The fix updates jdk.internal.net.http.websocket.OpeningHandshake to avoid double encoding and decoding of URL

Reviewed-by: dfuchs, chegar, prappo
2020-06-29 14:49:03 +01:00
Julia Boes
3943f9d0b7 8246431: java/net/httpclient/PathSubscriber tests fail due to missing FilePermission
Add explicit jtreg build configuration and adjust permissions accordingly

Reviewed-by: chegar, dfuchs
2020-06-08 15:27:31 +01:00
Julia Boes
c0a1a4e4fc 8237470: HttpResponse.BodySubscriber::ofFile throws UOE with non-default file systems
Rework non-default file system paths of BodySubscriber::ofFile and BodyHandler::ofFile and fix BodyHandler::ofFileDownload to throw consistently for non-default file system paths

Reviewed-by: dfuchs, chegar
2020-05-29 12:59:13 +01:00
Daniel Fuchs
58adc04d69 8244031: HttpClient should have more tests for HEAD requests
Http2TestExchangeImpl.java updated to support HEAD responses; ForbiddenHeadTest.java added.

Reviewed-by: chegar, michaelm
2020-05-20 18:57:06 +01:00
Rahul Yadav
178e69a3b9 8244652: Add test for non utf-8 response handling by websocket
The test java.net.httpclient.websocket.WSHandshakeExceptionTest.java checks that the websocket client handles invalid utf-8 sent by the websocket server

Reviewed-by: dfuchs
2020-05-15 14:46:17 +01:00
Daniel Fuchs
a2c35a6acb 8244205: HTTP/2 tunnel connections through proxy may be reused regardless of which proxy is selected
The key used in the HTTP/2 connection pool is updated to take into account the proxy address in case of tunnel connections

Reviewed-by: chegar
2020-05-06 19:19:38 +01:00
Rahul Yadav
ed24927500 8240666: Websocket client’s OpeningHandshake discards the HTTP response body
The fix updates jdk.internal.net.http.websocket. OpeningHandshake.send() method to process the response body from server

Reviewed-by: chegar, dfuchs, prappo
2020-05-06 17:33:32 +01:00
Rahul Yadav
184b433630 8242999: HTTP/2 client may not handle CONTINUATION frames correctly
Updated jdk.internal.net.http.Stream.incoming(Http2Frame frame) to handle continuation frame with END_HEADER flag

Reviewed-by: chegar, dfuchs
2020-04-28 10:30:27 +01:00
Daniel Fuchs
94a99ab9e5 8243246: HTTP Client sometimes gets java.io.IOException -> Invalid chunk header byte 32
The HTTP/1 chunked body parser is updated to discard chunk extensions

Reviewed-by: chegar, alanb
2020-04-24 16:54:30 +01:00
Daniel Fuchs
da1abd18db 8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response
The HTTP/2 Stream is updated to register a trivial data subscriber in case of 204 so that the END_STREAM is correctly processed.

Reviewed-by: chegar
2020-04-20 13:15:45 +01:00
Rahul Yadav
86722cb038 8239594: jdk.tls.client.protocols is not respected
8239595: ssl context version is not respected

The java.net.HttpClient is updated to no longer override any default selected protocols in the SSLContext, in the absence of  any SSLParameters explicitly supplied to the HttpClient.builder.

Reviewed-by: chegar, dfuchs
2020-04-10 10:05:33 +01:00
Chris Hegarty
9a69bb807b 8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
Reviewed-by: dfuchs, michaelm
2020-04-03 07:27:53 +01:00
Julia Boes
eb7c80a308 8241674: Fix incorrect jtreg option in FilePublisherPermsTest
Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs
2020-03-26 14:58:53 +00:00
Julia Boes
d882d528bb 8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system
Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu
2020-03-26 11:52:15 +00:00
Rahul Yadav
c5a7490809 8240921: Minor correction to HttpResponse.BodySubscribers example
The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon
2020-03-20 20:16:34 +00:00
John Jiang
edaf548beb 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol
Reviewed-by: dfuchs
2020-03-10 21:43:46 +08:00
Daniel Fuchs
5c8f935641 8240754: Instrument FlowTest.java to provide more debug traces
Reviewed-by: chegar
2020-03-09 17:48:40 +00:00
Daniel Fuchs
f7c819a72d 8239052: java/net/httpclient/whitebox/SSLEchoTubeTestDriver.java failed with BufferUnderflowException against TLSv1.3
The test assumed that ByteBuffer would be split at long boundaries. This is obviously not always the case. A carry has been added to support reading a long split over several buffers.

Reviewed-by: chegar
2020-02-24 17:19:32 +00:00