Skip to content

Tags: brenuart/feign

Tags

9.5.0

Toggle 9.5.0's commit message
[maven-release-plugin] copy for tag 9.5.0

release-9.5.0

Toggle release-9.5.0's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Allows configuration of status codes that cause Ribbon retries (OpenF…

…eign#492)

9.4.0

Toggle 9.4.0's commit message
[maven-release-plugin] copy for tag 9.4.0

release-9.4.0

Toggle release-9.4.0's commit message

9.3.1

Toggle 9.3.1's commit message
[maven-release-plugin] copy for tag 9.3.1

release-9.3.1

Toggle release-9.3.1's commit message
Removes use of internal gson class (OpenFeign#452)

Turns out an api was added a very long time ago to do what we do in gson
without use of internal apis.

See OpenFeign#449

9.3.0

Toggle 9.3.0's commit message
[maven-release-plugin] copy for tag 9.3.0

release-9.3.0

Toggle release-9.3.0's commit message
Adds FallbackFactory, allowing access to the cause of a Hystrix fallb…

…ack (OpenFeign#443)

The cause of the fallback is now logged by default to FINE level. You can programmatically inspect
the cause by making your own `FallbackFactory`. In many cases, the cause will be a `FeignException`,
which includes the http status.

Here's an example of using `FallbackFactory`:

```java
// This instance will be invoked if there are errors of any kind.
FallbackFactory<GitHub> fallbackFactory = cause -> (owner, repo) -> {
  if (cause instanceof FeignException && ((FeignException) cause).status() == 403) {
    return Collections.emptyList();
  } else {
    return Arrays.asList("yogi");
  }
};

GitHub github = HystrixFeign.builder()
                            ...
                            .target(GitHub.class, "https://api.github.com", fallbackFactory);
```

9.2.0

Toggle 9.2.0's commit message
[maven-release-plugin] copy for tag 9.2.0

release-9.2.0

Toggle release-9.2.0's commit message
Adds Hystrix SetterFactory to customize group and command keys (OpenF…

…eign#447)

This exposes means to customize group and command keys, for example to
use non-default conventions from configuration or custom annotation
processing.

Ex.
```java
SetterFactory commandKeyIsRequestLine = (target, method) -> {
  String groupKey = target.name();
  String commandKey = method.getAnnotation(RequestLine.class).value();
  return HystrixCommand.Setter
      .withGroupKey(HystrixCommandGroupKey.Factory.asKey(groupKey))
      .andCommandKey(HystrixCommandKey.Factory.asKey(commandKey));
};

api = HystrixFeign.builder()
                  .setterFactory(commandKeyIsRequestLine)
                  ...
```

This also makes the default's more unique to avoid clashing in Hystrix's
cache.