Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: sgmarghade/feign

Tags

v8.14.0

Toggle v8.14.0's commit message
Fixes CHANGELOG

v8.13.1

Toggle v8.13.1's commit message
Document and expose HystrixDelegatingContract

HystrixDelegatingContract is reusable when developers like @marcingrzejszczak make custom invocation handlers.

v8.13.0

Toggle v8.13.0's commit message
Merge pull request OpenFeign#303 from Netflix/bumps

Bumps dependency versions, most notably Gson 2.5 and OkHttp 2.7

v8.12.1

Toggle v8.12.1's commit message
SynchronousMethodHandler does not wrap exceptions thrown by Decoder#d…

…ecode in decode404 mode

Removing exception wrapping adds flexibility to the interplay of Decoder and ErrorDecoder:
A Decoder can now delegate to an ErrorDecoder and the original ErrorDecoder exception gets
thrown rather than a Feign-specific DecodeException. An example use-case is a Jackson/Gson
implementation of special 404-handling of Optional<Foo> methods: when the Feign client has
decode404() enabled, then the Decoder is in charge of dispatching 404 to Optional#absent
where applicable, or to a delegate ErrorDecoder otherwise; consistent exception handling
requires that the exception produced by the ErrorDecoder does not wrapped.

v8.12.0

Toggle v8.12.0's commit message
Adds Feign.Builder.decode404() to reduce boilerplate for empty semantics

This adds the `Feign.Builder.decode404()` flag which indicates decoders
should process responses with 404 status. It also changes all
first-party decoders (like gson) to return well-known empty values by
default. Further customization is possible by wrapping or creating a
custom decoder.

Prior to this change, we used custom invocation handlers as the way to
add fallback values based on exception or return status. `feign-hystrix`
uses this to return `HystrixCommand<X>`, but the general pattern applies
to anything that has a type representing both success and failure, such
as `Try<X>` or `Observable<X>`.

As we define it here, 404 status is not a retry or fallback policy, it
is just empty semantics. By limiting Feign's special processing to 404,
we gain a lot with very little supporting code.

If instead we opened all codes, Feign could easily turn bad request,
redirect, or server errors silently to null. This sort of configuration
issue is hard to troubleshoot. 404 -> empty is a very safe policy vs
all codes.

Moreover, we don't create a cliff, where folks seeking fallback policy
eventually realize they can't if only given a response code. Fallback
systems like Hystrix address exceptions that occur before or in lieu of
a response. By special-casing 404, we avoid a slippery slope of half-
implementing Hystrix.

Finally, 404 handling has been commonly requested: it has a clear use-
case, and through that value. This design supports that without breaking
compatibility, or impacting existing integrations such as Hystrix or
Ribbon.

See OpenFeign#238 OpenFeign#287

v8.11.0

Toggle v8.11.0's commit message
add HystrixCommand support

fixes OpenFeigngh-189

v8.10.1

Toggle v8.10.1's commit message
Squash changelog version

v8.9.1

Toggle v8.9.1's commit message
Class-level headers from inherited class when method is defined in de…

…claring class

Relates to OpenFeign#266, adds support to have @Header on the parent interface too

v8.10.0

Toggle v8.10.0's commit message
Supports POST without a body parameter

```java
@RequestLine("POST")
String noPostBody();
```

see
http://johnfeng.github.io/blog/2015/06/30/okhttp-updates-post-wouldnt-be-allowed-to-have-null-body/

v8.9.0

Toggle v8.9.0's commit message
Switches body parameter substitution to use encoded parameters

Resolves issue where some characters (+ %..) would end up double decoded if existing in parameters.

Fixes OpenFeign#264