Example usage for org.springframework.http HttpEntity toString

List of usage examples for org.springframework.http HttpEntity toString

Introduction

In this page you can find the example usage for org.springframework.http HttpEntity toString.

Prototype

@Override
    public String toString() 

Source Link

Usage

From source file:io.seldon.client.services.ApiServiceImpl.java

private ResourceBean getResource(final String url, Class<?> c) {
    logger.info("* GET Endpoint: " + url);
    ResourceBean bean;//from w ww  .j a v  a2  s. c om
    if (token == null) {
        ResourceBean r = getToken();
        if (r instanceof ErrorBean)
            return r;
    }

    String urlWithToken = url + "&oauth_token=" + token;
    logger.debug("** Token: " + token);
    logger.debug("** Class: " + c.getName());
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    HttpEntity<String> entity = new HttpEntity<String>(headers);
    RestTemplate restTemplate = createRestTemplate();
    try {
        //logger.info("Calling end point: " + urlWithToken + " for class: " + c.getName());
        @SuppressWarnings("unchecked")
        HttpEntity<ResourceBean> res = (HttpEntity<ResourceBean>) restTemplate.exchange(urlWithToken,
                HttpMethod.GET, entity, c);
        logger.debug("Result: " + res.toString() + " : " + res.getBody());
        bean = res.getBody();
        logger.debug("*** OK (" + urlWithToken + ")");
    } catch (Exception e) {
        if (e.getCause() instanceof SocketTimeoutException) {
            return createTimeoutBean();
        }
        logger.error("Exception class: " + e.getClass());
        //logger.error("Failed Api Call for url: " + urlWithToken + " : " + e.toString());
        logger.error("*** NOK (" + urlWithToken + "): " + e.getMessage());
        HttpEntity<ErrorBean> res = null;
        try {
            res = restTemplate.exchange(urlWithToken, HttpMethod.GET, entity, ErrorBean.class);
        } catch (RestClientException e1) {
            if (e1.getCause() instanceof SocketTimeoutException) {
                return createTimeoutBean();
            }
        }
        bean = res.getBody();
    }
    if (bean instanceof ErrorBean) {
        if (((ErrorBean) bean).getError_id() != Constants.TOKEN_EXPIRED) {
            return bean;
        } else {
            logger.info("Token expired; fetching a new one.");
            ResourceBean r = getToken();
            if (r instanceof ErrorBean) {
                return r;
            } else {
                return getResource(url, c);
            }
        }
    } else {
        return bean;
    }
}