1
0
mirror of https://github.com/square/okhttp.git synced 2026-01-25 16:01:38 +03:00
Commit Graph

561 Commits

Author SHA1 Message Date
Jesse Wilson
23d0b8349a Merge pull request #382 from square/jwilson_1230_requestline
Move request line and status line out of RawHeaders.
2013-12-30 22:08:23 -08:00
jwilson
bc25934830 Move request line and status line out of RawHeaders.
The request line is now standalone because it depends
on the proxy (for full URL or not) and the connection
(for HTTP version). I may change this later and put
this info in the request.

The status line now moves into Response. I have a
helper class StatusLine that does the parsing. I may
later want to hide this or make it public; I'm not
quite sure yet!

The net result is that RawHeaders is getting dumber
and used in fewer places, which is good news. This
change also shows nice simplifications to the
authenticator (which needs fewer args) and to the
tunnel builder.

Also fold together HttpsEngine and HttpEngine; the
HTTPS subclass wasn't pulling its weight.
2013-12-30 23:39:04 -05:00
Jesse Wilson
d53dae207e Merge pull request #381 from square/jwilson_1229_requestheaders
Combine Request+RequestHeaders and Response+ResponseHeaders.
2013-12-30 14:20:55 -08:00
jwilson
14b6e76e7d Combine Request+RequestHeaders and Response+ResponseHeaders.
This cleans up a lot of the unnecessary moving parts in
HttpEngine. That class is still stuck with some complexity
around request and response bodies, but it's getting better.

We're also stuck escalating the visibility of a lot of
members in Request and Response. I've got some ideas on
how to fix this; that'll have to wait for a follow up.
2013-12-30 17:08:38 -05:00
Jesse Wilson
f83688962c Merge pull request #380 from square/jwilson_1229_immutable_headers
Make RawHeaders, RequestHeaders and ResponseHeaders immutable.
2013-12-29 18:29:29 -08:00
jwilson
350c43b6fe Make RawHeaders, RequestHeaders and ResponseHeaders immutable.
This introduces a new, poorly-named class ResponseStrategy
that pulls some code out of ResponseHeaders. That was necessary
because the old method mutated itself and its parameters in
place.

Obvious follow-up for this is to combine ResponseHeaders with
Response, and RequestHeaders with Response.
2013-12-29 21:17:14 -05:00
Jake Wharton
63a278d2f4 Merge pull request #379 from square/jwilson/new_cache_api
Use Request and Response types in OkResponseCache.
2013-12-29 16:06:54 -08:00
jwilson
30ecba897f Use Request and Response types in OkResponseCache.
This breaks support for java.net.ResponseCache implementations. That's
good. That API is akward and can't support important features like
conditional GETs and hit tracking.
2013-12-29 18:57:35 -05:00
Jesse Wilson
f2d3e0f92c Merge pull request #378 from square/jwilson/handshake
Introduce Handshake as a value object.
2013-12-28 21:40:08 -08:00
jwilson
e2bfa5dd6c Introduce Handshake as a value object.
I needed a non-terrible way to provide the HTTPS handshake
information to the async API. Previously we were passing the
live socket around, which was leaky and gross.

This creates a new value object that captures the relevant
bits of the handshake. We can use it in the response, the
connection, and also in the cache. It's plausible that in
the future we can use it to allow the application to block
requests if the handshake is insufficient.
2013-12-29 00:35:14 -05:00
Jesse Wilson
fa11baea6d Merge pull request #377 from square/jwilson/async_apis
Define async APIs and switch Job to use HttpEngine directly.
2013-12-28 17:47:14 -08:00
jwilson
37c01895cc Define async APIs and switch Job to use HttpEngine directly.
Using HttpEngine directly introduces some duplicated code with
HttpURLConnection. It also breaks the response cache. I think
this is the best route going forward; and eventually we could
invert this relationship to have HttpURLConnection depending on
Job directly rather than vice versa.
2013-12-28 20:24:42 -05:00
Adrian Cole
f0fc449f9a Merge pull request #376 from lingmingyb/mtu
getMtu issue
2013-12-28 09:29:48 -08:00
lingming.yb
1c90331a3d getMtu issue 2013-12-28 13:30:22 +08:00
Adrian Cole
5dc27c7172 Merge pull request #374 from lingmingyb/wrapper
Buffered Stream wrapper should be taken place before SpdyConnection buil...
2013-12-25 06:14:07 -08:00
lingming.yb
b9c3ffb26a format 2013-12-24 10:43:38 +08:00
lingming.yb
35ead0f5d1 extract a method 2013-12-23 17:02:52 +08:00
lingming.yb
13c06879f4 Buffered Stream wrapper should be taken place before SpdyConnection build. 2013-12-22 11:22:12 +08:00
Jake Wharton
29f48ef7d9 Merge pull request #368 from nacx/mock-patch
Support PATCH requests in MockWebServer
2013-12-13 09:12:37 -08:00
Ignasi Barrera
d0e49527c7 Support PATCH requests in MockWebServer 2013-12-13 17:35:05 +01:00
Adrian Cole
514ae5478c Merge pull request #366 from adriancole/fix-hpack
MockWebServer can now read headers sent by http2 clients
2013-12-09 09:31:56 -08:00
Adrian Cole
4db7288561 Adjust hpack impl to be compliant with draft 3 examples, and enable http2 in MWS. 2013-12-08 21:54:06 -08:00
Jesse Wilson
a6d63eb816 Merge pull request #365 from adriancole/spdy-post-content-length
set content-length on spdy post
2013-12-07 16:55:52 -08:00
Adrian Cole
af5e60af84 issue #364: spdy should set content-length when it is known. 2013-12-07 13:41:11 -08:00
Adrian Cole
54d4fcde20 Merge pull request #356 from adriancole/draft6-headers
Update to http/2 draft 6 CONTINUATION after HEADERS frame
2013-12-02 10:28:38 -08:00
Adrian Cole
f7d96b2563 update http/2 implementation to draft 6 2013-12-02 10:18:19 -08:00
Jesse Wilson
e138eb73a0 Merge pull request #355 from adriancole/http2-test
backfill base test of simple http/2 headers frame
2013-11-26 17:18:38 -08:00
Adrian Cole
39ede8fc00 backfill base test of simple http/2 headers frame 2013-11-26 11:47:56 -08:00
Jesse Wilson
04ffc0d4fc Merge pull request #347 from Ponyets/Cache-Control_separator
Support use ';' as separator of "Cache-Control"
2013-11-12 07:08:55 -08:00
panmingwei
998202c009 Support use ';' as separator of "Cache-Control" 2013-11-05 16:14:16 +08:00
Jake Wharton
19a21936ff Remove useless String.format call. 2013-11-03 20:28:59 -08:00
Jake Wharton
dcddd5eec1 Merge pull request #346 from square/jwilson/trailing_bytes
Handle name/value header blocks with trailing bytes.
2013-11-03 20:28:18 -08:00
jwilson
98c9288d8e Handle name/value header blocks with trailing bytes.
https://github.com/square/okhttp/issues/333
2013-11-03 20:58:58 -05:00
Jake Wharton
26724f25bf Merge pull request #345 from square/jwilson/case_sensitive_auth
Fix a bug where authentication was incorrectly case sensitive.
2013-11-03 11:38:36 -08:00
jwilson
f2a6a6496f Fix a bug where authentication was incorrectly case sensitive. 2013-11-03 13:58:08 -05:00
Jesse Wilson
cf03bed951 Merge pull request #343 from JonWatson/master
PATCH body/output support
2013-11-03 08:38:56 -08:00
Jon Watson
adec488f99 Allow PATCH to have body/output 2013-10-31 16:17:33 -05:00
Jesse Wilson
648eb95745 Merge pull request #339 from rupertbates/master
Change HTTP date formats from UTC to GMT to conform to section 3.3 of HT...
2013-10-27 07:14:22 -07:00
Jesse Wilson
3827afe4d2 Merge pull request #340 from square/jw/link
Use 'jar-with-dependencies' version for jar download links.
2013-10-26 19:50:30 -07:00
Jake Wharton
a4f22a2168 Use 'jar-with-dependencies' version for jar download links. 2013-10-26 13:00:22 -07:00
rbates
8161a89c8f Fix up HttpResponseCacheTest.setIfModifiedSince test to work with GMT timezone format in if-modified-since header 2013-10-24 22:02:16 +01:00
rupertbates
7679acdbde Change HTTP date formats from UTC to GMT to conform to section 3.3 of HTTP spec document RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3)
Addresses issue https://github.com/square/okhttp/issues/337
2013-10-24 12:18:09 +01:00
Jake Wharton
d2be30b322 Merge pull request #322 from desseim/master
Fix unresolved function call on JVM < 1.7
2013-10-16 15:01:11 -07:00
Jesse Wilson
ef44b9ef89 Merge pull request #327 from everett-toews/patch-1
Added description and download info for MockWebServer.
2013-10-11 16:49:15 -07:00
Jesse Wilson
dd4c662f84 Merge pull request #325 from square/jw/hide-missed-2.0-api
Hide a 2.0 API that was left public.
2013-10-11 13:44:31 -07:00
Everett Toews
c74050b71c Added description and download info for MockWebServer. 2013-10-11 10:36:05 -04:00
Jake Wharton
cd727cd349 Hide a 2.0 API that was left public. 2013-10-10 18:23:11 -07:00
Guillaume Legrand
32a716667d Fix unresolved function call on JVM < 1.7
This notably allows the mockwebserver project to be run on Android.
ServerSocket only implements Closeable since Java 1.7 and thus calling of
closeQuietly(Closeable) with a ServerSocket argument fails when running
on Java 1.5 or 1.6 JVMs. This is the same as is already done for
closeQuietly(Socket).
2013-10-08 15:39:21 +02:00
Jesse Wilson
5538ed21d7 Merge pull request #320 from square/jwilson/idle
Fix a race condition in Connection.isExpired().
2013-09-29 19:29:59 -07:00
jwilson
29ab48bf0d Fix a race condition in Connection.isExpired().
This was causing some SPDY connections to be evicted early,
and preventing connection reuse.

The spdyConnectionReuse test becomes flaky with the
fix that makes MockWebServer use different sequenceNumbers
for different requests on the same socket. With the fix
the test is no longer flaky. The old test wasn't good enough
to detect what it wanted to detect!

This race has existed in the code since we added more
aggressive time-based expiration in January 2013. In my
basic tests the race impacted ~20% of connections on a
desktop VM. It may have been more on mobile.
2013-09-29 16:08:06 -04:00