1
0
mirror of https://github.com/square/okhttp.git synced 2026-01-14 07:22:20 +03:00
Commit Graph

942 Commits

Author SHA1 Message Date
Jesse Wilson
875bfa3eef [maven-release-plugin] prepare release parent-3.12.1 2018-12-23 12:41:42 -05:00
Jesse Wilson
de4225084f Prepare for 3.12.1 development 2018-12-23 12:36:32 -05:00
Jesse Wilson
7f63a35ab1 [maven-release-plugin] prepare release parent-3.12.0 2018-11-16 23:44:12 -05:00
Jesse Wilson
8a01554770 Merge pull request #4376 from square/jwilson.1107.preemptive_auth
Preemptive auth for proxy CONNECT
2018-11-13 21:54:56 -05:00
Jesse Wilson
5a316c0b40 Preemptive auth for proxy CONNECT
All other forms of preemptive auth are nicely covered by interceptors,
but CONNECT doesn't get that luxury.

https://github.com/square/okhttp/issues/2435
2018-11-13 21:45:25 -05:00
Jesse Wilson
764b31b3e2 Relax handling of Cache-Control: immutable
Previously we were treating this header as if the response would never
change. This was incorrect. The correct behavior according to RFC 8246
is that the 'immutable' directive only applies to conditional requests
made during the freshness lifetime. We don't make conditional requests
during the freshness lifetime, so the entire directive doesn't apply
to us.

https://github.com/square/okhttp/issues/4313
2018-11-12 22:31:16 -05:00
Jesse Wilson
62f2f82341 Fix connection leaks on failed web socket upgrades.
Closes: https://github.com/square/okhttp/issues/4258
2018-11-07 19:21:47 +11:00
Jesse Wilson
04a74b2df4 Confirm that call timeouts don't apply to SSE or web sockets. 2018-11-06 21:42:34 +11:00
Jesse Wilson
af07e023f8 Add APIs to configure the client's default call timeout. (#4369)
* Add APIs to configure the client's default call timeout.

This isn't independently configured in an interceptor like the other
timeouts because it's already started by the time the interceptors run.

* Update okhttp/src/main/java/okhttp3/OkHttpClient.java

Co-Authored-By: swankjesse <jesse@swank.ca>

* Update okhttp/src/main/java/okhttp3/OkHttpClient.java

Co-Authored-By: swankjesse <jesse@swank.ca>
2018-11-06 21:21:20 +11:00
Jesse Wilson
9f9903e7a3 Recover from executor shutdowns gracefully. (#4365)
This turns out to be pretty difficult because of the way our
dispatcher works.

Calls can be rejected either immediately when the user calls
enqueue(), or later when a queued call is promoted.

It's also awkward because we don't want to hold locks when
calling the user's callFailed() method.
2018-11-05 07:49:01 +00:00
Jesse Wilson
74a74d19d1 Merge pull request #4363 from square/jwilson.1104.whole_operation_timeout
Whole operation timeouts
2018-11-05 00:15:00 +11:00
Jesse Wilson
5373160d20 Whole operation timeouts
Strictly-speaking this change is backwards-incompatible because it adds
a new method to the Call interface. The method returns the call's timeout.

The trickiest part of this is signaling the end of the call, which
occurs after the last byte is consumed of the last follow up request,
or when the call fails. Fortunately this is made easier by borrowing
the sites used by EventListener, which already plots out where calls
end.

https://github.com/square/okhttp/issues/2840
2018-11-05 00:06:12 +11:00
Jesse Wilson
fbf243b880 Make scheme names case-sensitive again. 2018-11-04 07:49:39 +11:00
Yuri Schimke
2b0a9f4909 Remove colon when scheme missing in builder toString (#4361) 2018-11-03 13:39:20 +00:00
Jesse Wilson
f24f4130ac Merge pull request #4359 from square/jwilson.1103.rewrite_challenge_parser
Limit the use of regexes in the RFC 7235 challenge parser.
2018-11-03 19:14:34 +10:00
Jesse Wilson
d313ffcca0 Limit the use of regexes in the RFC 7235 challenge parser.
Creating patterns dynamically to do comma-escaping is pretty awkward.
This is more code but I have more confidence in it.
2018-11-03 19:59:22 +11:00
Yuri Schimke
59ab235004 Allow incomplete url builder toString usage (#4357)
The builder can be in a state that build() is not yet valid, but should have a valid toString for debugging purposes.
2018-11-03 08:42:42 +00:00
Joshua Shanks
c951e6ed88 APIs to set date headers 2018-10-31 08:32:50 -07:00
Eric Cochran
247ef5c054 Fail with clear message when missing scheme or host for HttpUrl.Builder.toString. 2018-10-25 14:20:40 -07:00
Benoit Quenaudon
3739c5cf20 Replaced List<Header> by a queue of Headers into Http2Stream 2018-10-22 14:38:07 -04:00
Benoit Quenaudon
719c1b50de Added test to cover header drops with 100-continue 2018-10-15 14:02:41 -04:00
Benoit Quenaudon
c8cbb0d022 Send/Receive Headers via Http2 Frames 2018-10-12 18:32:03 -04:00
Amir Livneh
0ebaef2b9b A mechanism for adding non-ASCII headers (#4296)
* Split checkNameAndValue() into 2 separate mathods

* Add Headers.Builder.ofNonAscii()

* Add non-ASCII headers through Builder
2018-09-29 17:32:32 -04:00
Eric Cochran
5d8fdad791 Fully validate inputs of Headers.of(). 2018-09-23 20:25:27 -07:00
Jesse Wilson
dfcf01eba3 Merge pull request #4285 from amirlivneh/enable_passing_empty_response_body_test
Enable passing emptyResponseBody test
2018-09-22 17:57:18 -04:00
Amir Livneh
66e1b2899c Enable passing emptyResponseBody test
This was fixed by 30e72340e0
2018-09-22 15:34:56 -04:00
Yuri Schimke
de4acc58bb Conscrypt 1.3 with TLSv1.3 (#4263)
* official TLS 1.3 ids

* Make TLS 1.3 spec public

* TLSv1.3 on by default

* some normal hosts to check

* Conscrypt 1.3 changes

* reduce branch changes

* Moar hosts

* reduce branch code

* Reduce code

* reduce changes

* Conscrypt 1.3 release
2018-09-17 23:12:57 -04:00
Yuri Schimke
88b49fd821 Add Friendly toString() to Platform 2018-09-12 20:31:18 +01:00
Yuri Schimke
1df923143f TLSv13 official (#4215)
* official TLS 1.3 ids

* Make TLS 1.3 spec public

* TLSv1.3 on by default

* some normal hosts to check
2018-09-11 21:35:27 -04:00
Björn Kautler
474c23aa30 Properly parse RFC 7235 authentication headers (#4249) (#4252) 2018-09-11 20:39:51 +01:00
Björn Kautler
e06de327e2 Properly handle null as system default proxy selector (#4232) (#4237) 2018-08-31 06:55:09 +01:00
Jesse Wilson
efe3de88ac Upgrade to Okio 1.15 2018-08-10 15:16:53 -04:00
Yuri Schimke
ec0cdf2970 Test for file not found in post body (#4151)
* test for FNFE

* tighten up test behaviour
2018-08-05 20:29:36 -04:00
Yuri Schimke
911a625cd5 TLSv1.3 with JDK 11 (#4109) 2018-07-14 08:07:59 +01:00
Yuri Schimke
9828d9df70 Possible JDK 11 fixes (#4138)
tracking upstream fixes in https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8207223
2018-07-13 06:39:06 +01:00
Jesse Wilson
7ef5f55d38 [maven-release-plugin] prepare for next development iteration 2018-07-12 23:41:09 -04:00
Jesse Wilson
95ae0cf421 [maven-release-plugin] prepare release parent-3.11.0 2018-07-12 23:41:00 -04:00
Jesse Wilson
d51fd3ba6a Merge pull request #4127 from square/concurrent-http2-flow-control
Confirm concurrent HTTP/2 requests with empty flow-control window.
2018-07-12 22:06:15 -04:00
Jesse Wilson
2f1be26582 Merge pull request #4142 from square/jwilson.0711.deluxe_tags
Deluxe tags.
2018-07-12 21:13:30 -04:00
Dave Roberge
f5905f4ef3 Confirm concurrent HTTP/2 requests with empty flow-control window. 2018-07-12 21:03:45 -04:00
Jesse Wilson
7a29af6d95 Deluxe tags.
This expands our single Object.class into a Map<Class<T>, T>.

Closes: https://github.com/square/okhttp/issues/4087
2018-07-12 20:45:12 -04:00
Jesse Wilson
137e7de045 New API, HandshakeCertificates.addPlatformTrustedCertificates()
Also rename HeldCertificate.Builder.issuedBy() to signedBy(). 'Issued' is the
word used by certificates; 'signed' is the word used by cryptographers. I prefer
'signed'.
2018-07-12 10:51:33 -04:00
Jesse Wilson
37887141fe Rename TlsNode to HandshakeCertificates (#4141) 2018-07-12 06:39:20 +01:00
Jesse Wilson
c71ef59a90 Validate the certificate's basic constraints.
Also fix our calling code to have the smallest path lengths possible.
http://www.ietf.org/rfc/rfc3280.txt
2018-07-11 09:23:29 -04:00
Jesse Wilson
dfc82db14c Merge pull request #4137 from square/jwilson.0710.prod_worthy
Fixup HeldCertificate so that it's worthy of production use.
2018-07-11 09:19:55 -04:00
Yuri Schimke
00def7aecf Avoid hard conscrypt dep (#4128) 2018-07-11 07:00:22 +01:00
Jesse Wilson
db2ae92156 Fixup HeldCertificate so that it's worthy of production use.
This changes the default from the insecure 1024-bit RSA to a secure 256-bit ECDSA
key. It adds a new option to use RSA keys for interoperating with older clients.
2018-07-10 22:49:00 -04:00
Jesse Wilson
b1bfe7130c New okhttp-tls module 2018-07-09 12:00:28 -04:00
Jesse Wilson
31c511f694 Rename SslClient to TlsNode and make it a public API
https://github.com/square/okhttp/issues/3934
2018-07-08 15:33:16 -04:00
Jesse Wilson
44c2696932 Merge pull request #4124 from square/jwilson.0706.client_certs
Support client authentication in MockWebServer
2018-07-06 16:22:42 -04:00