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.
Both `MeteredClient` and `MeteredDecoder` now propagates all
unchecked exceptions as-is (they were previously wrapped in
`IOException` before rethrown).
Fixes#1281
* Add support for Dropwizard Metrics 4.1.x
Dropwizard Metrics 5.x is currently unmaintained, so there should be the option
to use the currently maintained Dropwizard Metrics version.
* Reformat code
* Add dropwizard-metrics4 to README.md
* Add unit test illustrating #1217
* Make sure content-type is limited to a single value
Co-authored-by: Pierre de Soyres <pierre.de-soyres@eptica.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
* Add list tests to QueryTemplateTest
* Make expandIterable() return empty string if unresolved
* Rename new tests to fit existing tests
* Format code
* Fix newlines
Fixes#1172
When a `HeaderTemplate` is expanded, the result is placed onto a new
`RequestTemplate` via it's `header` method. This results in the expanded
result being turned back into a `HeaderTemplate`, simply out of
convenience. This behavior, while fine more general use cases, is
problematic if the header value contains braces `{` `}`, as this will
cause the app to consider these values as new expressions.
At this point in the expansion process, there is no need to evaluate
the expanded values again, so this change allows a `Template` to be
created from an existing List of `TemplateChunks`, allowing for callers
to provide explicit `Literal` or `Expression` chunks directly into a
`Template`, by passing the template parsing algorithms.
`RequestTemplate#expand` has been updated to apply this logic for
`HeaderTemplate` values only.
* Configurable to disable streaming mode for Default client
* Add a property `allowStramingMode` in `Request.Option`.
* Optional to disable the streaming mode for `HttpURLConnection`.
* The property is default to `true` for compatibility.
Fix#260
* Fix a merging problem
* Make the new option `disableRequestBuffering` to Default client
* Move it from `Request.Options` to `Default` client