* Provide a way to exclude headers from logs
* Make header filters optional (nullable), update README
* Mistyping: sing -> sign
* New implementation with overriding of filter methods
* Fix javadocs, update README
* Update README, fix removed newline
* Move hamcrest dependency to the parent, upgrade it to 2.2
* hamcrest-library is deprecated
* organise properties in parent: move the hamcrest version next to other test tools
* Modifying Contract to support passing all parameters to encoders
* Formatting license
* Adding unit tests
* Adding AlwaysEncodeBodyContract abstract class (#1)
* Fix no response logging on async Feign.
Copy log level onto asyncBuilder as well as setting it on the builder, so responses get logged in the asynchronous case.
* Forgot a semicolon
* Run license:format; make logLevel not final.
Co-authored-by: Andrew Winterman <andrew.winterman@altruist.com>
* Modify DefaultMethodHandler to work with Android.
* Modified to work with Android. Previous commit worked up to API level 28 (Android 8) however, Android 9+ enforces more strict checking with reflection.
* Add support for java 9
* Move multi-release to java 9 only
* Have a single DefaultMethodHandle for java 8 and 11 that don't print warnings
* Bump spring version
Co-authored-by: Clayton Walker <cwalker@sofi.org>
Co-authored-by: Marvin Froeder <marvin.froeder@dovetailstudios.com>
* Make the FieldQueryMapEncoder encoder thread safe
Change the caching map to be concurrent and only
insert items that are missing to the map.
Fixes#1257
* Refactor the FieldQueryMapEncoder to use streams
Fixes#1257
* Fix bug for FeignException cannot get the correct charset (#1325)
* Add test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Add more test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Format test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Fix bug for FeignException cannot get the correct charset (#1325)
* Add test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Add more test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Format test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Add test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Add more test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Format test for (Fix bug for FeignException cannot get the correct charset) (#1325)
* Correcting License Headers for 2021
Co-authored-by: Kevin Davis <kdavisk6@gmail.com>
* If charset is set in Content-type, we decode response using that charset
* Java 8 compatibility
* Format fix
* Moving code to get charset to Response in order to be used by another
decoders
Fixes: #934, #1208
This change updates the Input Stream handling when using the Default
client implementation to detect when a response is `gzipped` and
wrap it in a `GZipInputStream`.
This addresses any issues related to compression when using the
default client.
In addition, removed the implicit parsing of the
body during toString. This was also brought up in #1208 and it came up
during testing of this change. Users should be using our `asReader`
and other methods to access the response body.
* Adding Deflate support
* Added Deflate Support and removed implicit response body reading
* Refactored Gzip and Deflate Conditions
* Corrected formatting and line-endings
Fixes: #1270
`HeaderTemplate` was confusing iterable values with literal values due
to the presence of comma `,` characters in the result. The result was
that, in certain cases like HTTP Dates, additional spaces were inserted
into the final expanded value.
The root cause of the issue is that `HeaderTemplate` combined all values
into a single `String` template, with each value separated by a comma.
This change refactors `HeaderTemplate` to treat all `values` as individual
`Templates`, removing the need to combine any provided values into a single
String.
* Remove unnecessary string splits when expanding Headers in RequestTemplate
JEP 118 introduced javac option `-parameters` that adds to bytecode
method parameter names, so if code is compiled with that option
and @Param value is empty we can get that template parameter name
from method parameter name.
Fixes#1297.