/*
* Copyright 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.ecs.api;
import com.sun.jersey.api.client.*;
import com.sun.jersey.api.client.config.ClientConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.net.URI;
import java.security.GeneralSecurityException;
import java.util.concurrent.Future;
import javax.ws.rs.core.MediaType;
public class RESTClient {
private Client _client;
/**
* Constructor
*
* @param client Jersey client to use
*/
public RESTClient(Client client) {
_client = client;
}
/**
* Get resource as a ClientResponse
*
* @param url url for the resource to get
* @return ClientResponse response
*/
public ClientResponse get(URI url) {
return _client.resource(url).get(ClientResponse.class);
}
public ClientResponse get_json(URI url, String authToken) {
WebResource r = _client.resource(url);
return r.header("Content-Type", "application/json").header("X-SDS-AUTH-TOKEN", authToken).get(ClientResponse.class);
}
public ClientResponse get_xml(URI url, String authToken) {
WebResource r = _client.resource(url);
return r.header("Content-Type", "application/xml").header("X-SDS-AUTH-TOKEN", authToken).get(ClientResponse.class);
}
public ClientResponse post_json(URI url, String authToken, String body) {
WebResource r = _client.resource(url);
return r.header("Content-Type", "application/json").header("X-SDS-AUTH-TOKEN", authToken).post(ClientResponse.class, body);
}
public ClientResponse put_json(URI url, String authToken, String body) {
WebResource r = _client.resource(url);
return r.header("Content-Type", "application/json").header("X-SDS-AUTH-TOKEN", authToken).put(ClientResponse.class, body);
}
/**
* Close the client
*/
public void close() {
_client.destroy();
}
}