title: Feign ErrorDecoder : retrieve the original message
body: <p>I use a ErrorDecoder to return the right exception rather than a 500 status code.</p>
  
  <p>Is there a way to retrieve the original message inside the decoder. I can see that it is inside the FeignException, but not in the decode method. All I have is the 'status code' and a empty 'reason'.</p>
  
  <pre><code>public class CustomErrorDecoder implements ErrorDecoder {
  
      private final ErrorDecoder errorDecoder = new Default();
  
      @Override
      public Exception decode(String s, Response response) {
  
          switch (response.status()) {
  
              case 404:
                  return new FileNotFoundException("File no found");
              case 403:
                  return new ForbiddenAccessException("Forbidden access");
          }
  
          return errorDecoder.decode(s, response);
      }
  }
  </code></pre>
  
  <p>Here the original message : "message":"Access to the file forbidden"</p>
  
  <pre><code>feign.FeignException: status 403 reading ProxyMicroserviceFiles#getUserRoot(); content:
  {"timestamp":"2018-11-28T17:34:05.235+0000","status":403,"error":"Forbidden","message":"Access to the file forbidden","path":"/root"}
  </code></pre>
  
  <p>Also I use my FeignClient interface like a RestController so I don't use any other Controler populated with the proxy that could encapsulate the methods calls. </p>
  
  <pre><code>   @RestController
     @FeignClient(name = "zuul-server")
     @RibbonClient(name = "microservice-files")
  
     public interface ProxyMicroserviceFiles {
  
                  @GetMapping(value = "microservice-files/root")
                  Object getUserRoot();
  
                  @GetMapping(value = "microservice-files/file/{id}")
                  Object getFileById(@PathVariable("id") int id);
  
      }
  </code></pre>