private static FeignServerException serverErrorStatus(
      int status,
      String message,
      Request request,
      byte[] body,
      Map<String, Collection<String>> headers) {
    switch (status) {
      case 500:
        return new InternalServerError(message, request, body, headers);
      case 501:
        return new NotImplemented(message, request, body, headers);
      case 502:
        return new BadGateway(message, request, body, headers);
      case 503:
        return new ServiceUnavailable(message, request, body, headers);
      case 504:
        return new GatewayTimeout(message, request, body, headers);
      default:
        return new FeignServerException(status, message, request, body, headers);
    }
  }
The Response body.

@return an Optional wrapping the response body.
core/src/main/java/feign/FeignException.java