package eu.dnetlib.openaire.rest.inputHandler;

import eu.dnetlib.openaire.rest.UserInfo;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.http.*;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

import java.io.IOException;
import java.util.Collections;

/**
 * Created by sofia on 20/4/2017.
 */
public class UserHandler{
    private static Logger logger = LogManager.getLogger(UserHandler.class);

    String userInfoUrl = null;

    public  UserInfo getUserInfo(String sessionId) {
        String url = userInfoUrl;
        try {
            RestTemplate restTemplate = new RestTemplate();
            HttpHeaders headers = new HttpHeaders();
            headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
            headers.set("Cookie", "openAIRESession=" + sessionId);
            ResponseEntity<UserInfo> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headers), UserInfo.class);
            return response.getBody();
        } catch (RestClientException e) {
//            e.printStackTrace();
//            logger.error("error in user info", e);
            return null;
        }
    }

    public String getUserInfoUrl() {
        return userInfoUrl;
    }

    public void setUserInfoUrl(String userInfoUrl) {
        this.userInfoUrl = userInfoUrl;
    }

    public static void main(String[] args) throws IOException {

    }
}
