* Retryer: replace an instance of Date with an epoch millisecond
* Style issue: unnecessary explicit casting
* Add another check to RetryableException's test
* Update serialization ID. Resolve some deprecation issues of Integer.
* Remove obsolete Date
* Remove obsolete Date 2
* Resolve issue with overrided method of a mock class
* java11 async http client for AsyncFeign
* java 11 httpclient not allow some header
* add unit test
* add license
* remove unused annotation
* Merge branch 'master' of https://github.com/OpenFeign/feign into asyncfeign-java11-impl
Conflicts:
java11/src/main/java/feign/http2client/Http2Client.java
* port connectionTimeout feature of Http2Client to AsyncHttpClient
* fix format
* Combined Sync and Async clients into a single class
Co-authored-by: UzimakiNaruto <ff578505546@qq.com>
Co-authored-by: Kevin Davis <kdavisk6@gmail.com>
Co-authored-by: Marvin Froeder <velo@users.noreply.github.com>
Co-authored-by: Marvin Froeder <marvin.froeder@dovetailstudios.com>
* Set connect timeout from feign Option on java11 HttpClient
* added a constructor to Http2Client which takes Options argument
Co-authored-by: Gunther Klein <gunther.klein@thepaymail.com>
Co-authored-by: Kevin Davis <kdavisk6@gmail.com>
This change converts the Java11 module release into two steps:
1. run `mvn install` for just feign-java11 to ensure the dependent
projects exist in the local repo
2. run `mvn deploy` for `feign-java11`
The result should be that only the single module is deployed
* Correcting License Headers
Fixes#857
To simply removal, Request.Body was returned back to an internal
component and additional methods were added to Request to expose
it's capabilities outside of the object.
All other deprecated usage in core modules has been removed.
Deprecated code still exists in the test cases and will be
removed once the deprecated methods are removed in our next
major release.
In this pr the old `body()` method calls replaced with `requestBody().asBytes()` method which both exists in Request class. The intention is to remove deprecated code and keep source code clean.
Related to #857
* replaced old body with new Body.asBytes()
* Adding URI segment specific encoding
Fixes#879
URI encoding introduced in Feign 10.x was refactored to be more in line
with URI and URI Template specifications respectively. One change was to
ensure that certain reserved characters were not encoded incorrectly.
The result was that path segment specific reserved characters were being
preserved on the query string as well. This change updates the `UriTemplate`
and `Expression` classes to recognize the segment of the URI that is being processed
and apply the segment specific encoding correctly.
One important change regarding the `+` sign. Per the URI specification, a `+` sign
is allowed in both the path and query segments of a URI, however, handling of
the symbol on the query can be inconsistent. In some legacy systems, the `+` is
equivalent to the a space. Feign takes the approach of modern systems, where a
`+` symbol should not reprsent a space and is explicitly encoded as `%2B` when
found on a query string.
If you wish to use `+` as a space, then use the literal ` ` character or encode
the value directly as `%20`