1 package com.samsung.alive.utils.rest;
3 import org.apache.log4j.Logger;
4 import org.springframework.http.ResponseEntity;
5 import org.springframework.web.client.HttpClientErrorException;
6 import org.springframework.web.client.ResourceAccessException;
7 import org.springframework.web.client.RestTemplate;
10 import java.net.URISyntaxException;
12 import static java.lang.String.format;
14 public class ServerSenderImpl implements ServerSender {
16 private static final Logger LOG = Logger.getLogger(ServerSenderImpl.class);
18 private RestTemplate restTemplate;
20 private static final String API_URL_TEMPLATE = "%s/restapi/login?login=%s&password=%s";
28 * Instantiates a new Server sender.
30 * @param host server host
32 public ServerSenderImpl(String host) {
34 this.restTemplate = new RestTemplate();
36 LOG.debug("Server host: " + host);
40 public String authCode(String login, String password) throws ServerSenderError {
42 String stringURI = format(API_URL_TEMPLATE, host, login, password);
43 LOG.debug("Server Sender: " + format(API_URL_TEMPLATE, host, login, "<hidden>"));
45 ResponseEntity<String> result = restTemplate.getForEntity(new URI(stringURI), String.class);
47 return result.getBody();
49 } catch (URISyntaxException | HttpClientErrorException | ResourceAccessException e) {
50 LOG.error(e.getMessage(), e);
52 throw new ServerSenderError("Error occurred on server sender", e);