Commit Graph

3353 Commits

Author SHA1 Message Date
Oleg Kalnichevski ad47e950e3 Updated release notes for HttpClient 5.0 release 2020-02-19 09:37:59 +01:00
Oleg Kalnichevski 24b3f71a8f Removed deprecated methods 2020-02-19 09:37:46 +01:00
Oleg Kalnichevski 53e172553d HTTPCLIENT-2051: Change POST to GET for 301, 302 and 303 redirects. Other unsafe methods to be redirected as is. 2020-02-17 14:56:31 +01:00
Oleg Kalnichevski 42cae6999c Use finite (3 minutes) connection keep-alive period by default 2020-02-17 09:12:39 +01:00
Oleg Kalnichevski 85eec39f7f Updated Travis CI JDK matrix; replaced Oracle JDK 11 with OpenJDK 12 and Oracle JDK 12 2020-02-15 14:46:59 +01:00
Oleg Kalnichevski 934a6d5e77 Removed dodgy work-around for resumed TLS sessions given that JDK-8212885 fix has been ported to Java 11 and released in Oracle JDK 11.0.3 2020-02-15 14:46:59 +01:00
Oleg Kalnichevski d601aff61d Upgraded HttpCore dependency to version 5.0 2020-02-15 14:22:10 +01:00
Oleg Kalnichevski 5bcf6b61f3 Bug fix: custom SSL context is ignored 2020-02-14 10:37:03 +01:00
Ryan Schmitt 6559b60342 DefaultHttpRequestRetryStrategy: Allow zero retry interval 2020-01-30 11:21:35 -08:00
Gary Gregory d1c4199db3
No need to use the type name of an input arg in the method name. (#208)
* No need to use the type name of an input arg in the method name.

* Do not use input type names in method names.
2020-01-29 19:20:05 -05:00
Oleg Kalnichevski 4401991d93 HTTPCLIENT-2047: fixed regression in DefaultHostnameVerifier causing rejection of certs with non-standard domains.
This reverts commit 87cc64fc
2020-01-29 09:44:39 +01:00
Oleg Kalnichevski 3575cff3dc Bug fix: fixed handling of private domains by PublicSuffixMatcher 2020-01-29 09:43:19 +01:00
Gary Gregory 95dbbf099b Now that ClassicHttpRequests is no longer an enum, we need to way to
generically build requests from method names. Update all factory classes
with matching APIs for Method and String method name inputs.

(#204), (#205)
2020-01-28 23:11:56 +01:00
Oleg Kalnichevski afa8f5ecd1 Upgraded HttpClient version to 5.0-beta8-SNAPSHOT 2020-01-26 12:42:54 +01:00
Oleg Kalnichevski 81f8811f62 Updated release notes for HttpClient 5.0-beta7 release 2020-01-22 17:26:34 +01:00
Oleg Kalnichevski 910f233898 Updated NOTICE 2020-01-22 17:25:37 +01:00
Michael Osipov 38a41fea90 Use camelCase for Java method names -- always 2020-01-19 20:25:04 +01:00
Michael Osipov 5a8a6d0fc8 Convert convenience builders form enums to final classes
Turn exhaustive enum builder pattern to a final class with builder
methods serving HTTP request objects.

This closes #202
2020-01-19 20:23:33 +01:00
Oleg Kalnichevski 303e435d79 Domain name normalization 2020-01-14 11:01:59 +01:00
Michael Osipov 26991b8059 HTTPCLIENT-2036: CacheValidityPolicy should use TimeValue
This closes #201
2020-01-10 11:01:45 +01:00
Gary Gregory 071fa68a3c
Misc clean ups. (#200) 2020-01-09 11:45:04 -05:00
Michael Osipov 0812192f46 Rename CookieSpecs enum to StandardCookieSpec final class
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard cookie specifications by name supported by the HttpClient.
The previous enum suffered from two issues:

* it was exhaustive implying that no more cookie specifications can be supported
* its sole purpose was to contain an id for the declared cookie specification;
  the enum values theirselves were never used directly

This also reuses the naming approach of HttpMultipartMode of symbolic names for
implementation behavior.

This closes #197
2020-01-08 17:29:09 +01:00
Ryan Schmitt 82a9932446 Add reactive test coverage
This commit adds test coverage for the `:httpcore5-reactive` bindings,
using different types of clients and protocols.
2020-01-07 11:04:14 -08:00
Ryan Schmitt 87cc64fc88 DefaultHostnameVerifier: Match DNS and CN names against ICANN domains
This change ensures that during hostname verification the public suffix
list is only used to prevent wildcard matching against entire TLDs (e.g.
`*.com`). Currently, private domains are also being matched against,
which is preventing reasonable wildcards (such as
`*.s3.eu-central-1.amazonaws.com`) from being respected.
2020-01-07 10:09:02 -08:00
Ryan Schmitt 3aec96d3db Upgraded HttpCore to version 5.0-beta11 2020-01-07 15:41:18 +01:00
Scott Gifford a8fc99f4a2 HttpByteArrayCacheEntrySerializer minor code cleanup for HTTPCORE-615.
MemcachedCacheEntryHttp inner class NoAgeCacheValidityPolicy should be static.
Add missing javadoc @param and @return entries to MemcachedCacheEntryHttp.
Remove extra blank lines.
2020-01-07 09:30:02 +01:00
Michael Osipov 3730b03a99 Properly distinguish between AuthScheme and auth scheme name
Throughout the code the terms 'authScheme' and 'scheme' have been used
synonymously for an AuthScheme instance and a string-based auth scheme
name. To avoid confusion, fields, methods and variable have been adapted
to distinguish both properly. If necessary, Javadoc has been modified to
denote the nature of the input.

Also an auth scheme name is retained as-is, but normalized to lowercase
if comparsion is required.

This closes #193
2020-01-01 22:51:19 +01:00
Gary Gregory 634886ab61 [HTTPCLIENT-2046] Rename AuthSchemes enum to StandardAuthScheme final class
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard auth schemes by name supported by the HttpClient. The
previous enum suffered from two issues:

* it was exhaustive implying that no more auth schemes can be supported
* its sole purpose was to contain an id for the declared auth scheme;
  the enum values theirselves were never used directly

This closes #196
2020-01-01 21:57:53 +01:00
Oleg Kalnichevski 54a341ea92 Simplified MIME multipart generation modes (legacy, strict and extended) 2020-01-01 13:47:53 +01:00
Oleg Kalnichevski 56463de35d MIME code cleanup and class renaming (no functional changes) 2020-01-01 13:47:53 +01:00
Gary Gregory 3fd383f870 [HTTPCLIENT-2044] Don't create stateless/immutable factory objects
Decide later if some of these classes should have a private default
constructor.

This closes #195
2019-12-31 20:43:56 +01:00
Gary Gregory 711672a62f HTTPCLIENT-2043: Rename classes documented as factories from *Provider
#194.
2019-12-31 11:31:34 -05:00
Gary Gregory eaa8c5f648
[HTTPCLIENT-2043] Rename classes documented as factories from *Provider to *Factory (#194)
This closes #194
2019-12-31 11:27:16 -05:00
Scott Gifford f765a81b31 HTTPCORE-615: Implement HTTP-based cache serializer-deserializer. (#192)
HTTPCORE-615: Implement HTTP-based cache serializer-deserializer.
2019-12-30 10:57:58 +01:00
Scott Gifford 40173ca071 Fix bug in ResourceIOException where message was not passed to super. 2019-12-30 10:52:26 +01:00
Michael Osipov f71ee38819 [HTTPCLIENT-2041] AuthenticationStrategy#select() assumes challanges key to be lowercase
Properly document that lowercase keys are required.
2019-12-27 12:32:13 +01:00
Michael Osipov 782d8e40a0 Use proper scheme names in text 2019-12-27 12:26:55 +01:00
Michael Osipov 167dbc7576 Make consistent use of AuthSchemes#id
This closes #189
2019-12-27 12:26:34 +01:00
Michael Osipov 2744c73471 Apply consistent id field names
As with HttpCore an entity should have a consistent id field, named 'id'
throughout the entire codebase.

This closes #188
2019-12-26 15:32:22 +01:00
Oleg Kalnichevski a2ebb62881 HTTPCLIENT-2040: Copy headers from the original request to the redirect request 2019-12-25 09:29:11 +01:00
Oleg Kalnichevski b34007dffd Duplicate resource name in integration tests caused client resource leak 2019-12-21 10:04:20 +01:00
Oleg Kalnichevski 35a63d3426 Removed RFC 2965 specific requirements deprecated and superseded by RFC 6265
Partially reverts commit 379a8351
2019-12-20 10:24:20 +01:00
Michael Osipov 86b1a3b711 Use language-agnotic Locale.ROOT 2019-12-15 16:15:36 +01:00
Michael Osipov a5dac4c6f2 HTTPCLIENT-2038: CacheConfig should use TimeValue 2019-12-15 12:45:14 +01:00
Michael Osipov 667fc9e218 HTTPCLIENT-2037: AIMDBackoffManager should use TimeValue 2019-12-15 12:21:59 +01:00
Michael Osipov ebccd5d225 Use String#isEmpty() 2019-12-15 11:49:26 +01:00
Michael Osipov 8be681964c Use paste tense for EntityBuilder#gzipCompressed
Both gzipCompressed and chunked denote a state of an entity where both
should use consistent tenses.
2019-12-15 11:36:32 +01:00
Michael Osipov 810e56b419 Don't explicitly declare runtime exceptions 2019-12-15 11:36:31 +01:00
Michael Osipov 83bc2c497d ExponentialBackOffSchedulingStrategy should use TimeValue internally 2019-12-15 11:36:31 +01:00
Michael Osipov 6c1e4676a1 Remove unused StringBuilder 2019-12-15 11:36:31 +01:00