* Allows different collection encodings
In the case where a parameter represents a collection of values, there are
conflicting ways of encoding that collection. Common ways are repeating the
parameter name (foo=bar&foo=baz) and using comma separated values (foo=bar,baz).
The current behavior repeats the parameter name. This change introduces an
additional RequestLine parameter that explicitly specifies the encoding type,
one of CSV, TSV, space-delimited, pipe-delimited, and repeating the parameter
name. The default value for this option is repeating the parameter name, so
backwards compatibility is maintained.
* Replace switch statement with enum method for joining values
* Fixes retrials without Thread.sleep when thread gets interrupted
* Added test to verify if default retryer propagates RetryableException exception when thread is interrupted
* Add an option to not follow redirects (302) and add a unit test for that
* Implement followRedirect options for Ribbon Client and OkHTTP.
Add unit tests for these.
* Fix last failing unit test with IClientConfig options handling
* Using proper formatting pattern for logIOException.
Fixes#613
* Enforced rule exection order for LoggerTest such that ExpectedException is caught before the other rules. (The recording logging rule was ignored for tests that throw an exception). Fixed up test cases that never ran because of this. Added test for format character bug.
* Support of Java 8 Stream Decoder and Jackson Iterator Decoder
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
* Removed class javadoc to make license plugin happy
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
* Fixed build failed cause of license missing
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
* - smaller highlighted changelog
- make decoder type implementation final
- change inner types and constructors visibility to package private
- fix non static inner class
- remove useless Factory inner class
- unit test JacksonIterator
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
* - Revert deleted groupId tag in benchmark
- Fix code style on StreamDecoder
- Add unit test to verify iterator is closed if stream is closed
- Remove any characteristics to the returned stream
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
* Benchmark:
- updated with latest factory methods
- do not duplicate groupId
Signed-off-by: phymbert <pierrick.hymbert@gmail.com>
This commit adds the `doNotCloseAfterDecode` flag to the Feign builder object. This allows you to
lazily evaluate the response in your Decoder, in order to support Iterators or Java 8 Streams.
This is a pretty light weight change, to support a do-it-yourself approach to lazy instantiation.
Fixes#514.
* Avoid `Decoder.decode` on 404 when void response type
Avoid calling `decode` when receiving a 404 error and `decode404` is set and the response type is `void`.
* Update CHANGELOG