
ksyun.client.epc.copyimage.v20151101.CopyImageClient Maven / Gradle / Ivy
package ksyun.client.epc.copyimage.v20151101;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import common.BaseClient;
import common.Credential;
import common.utils.HttpClientUtils;
import common.utils.SignUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
/**
* @Classname CopyImageClient
* @Description 复制镜像
*/
@Slf4j
public class CopyImageClient extends BaseClient {
private final static String service = "epc";
private final static String version = "2015-11-01";
private final static String action = "CopyImage";
/**
* 证书
*/
private Credential credential;
public CopyImageClient(Credential credential) {
this.credential = credential;
}
/**
* post请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public CopyImageResponse doPost(String path, CopyImageRequest requestObj) throws Exception {
return doPost(path, requestObj, null);
}
/**
* post请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public CopyImageResponse doPost(String path, CopyImageRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpPost(path, requestParams, head);
log.info("doPost end,path:{},params:{},head:{}", path, requestParams, head);
return JSON.parseObject(response, CopyImageResponse.class);
}
/**
* get 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public CopyImageResponse doGet(String path, CopyImageRequest requestObj) throws Exception {
return doGet(path, requestObj, null);
}
/**
* doDelete 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public CopyImageResponse doDelete(String path, CopyImageRequest requestObj) throws Exception {
return doDelete(path, requestObj, null);
}
/**
* doDelete 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public CopyImageResponse doDelete(String path, CopyImageRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpDelete(path, requestParams, head);
log.info("doDelete end,path:{},params:{},head:{}", path, requestParams, head);
CopyImageResponse CopyImageResponse = JSON.parseObject(response, CopyImageResponse.class);
return CopyImageResponse;
}
/**
* doPut 请求
*
* @param path
* @param requestObj
* @return
* @throws Exception
*/
public CopyImageResponse doPut(String path, CopyImageRequest requestObj) throws Exception {
return doPut(path, requestObj, null);
}
/**
* doPut 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public CopyImageResponse doPut(String path, CopyImageRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpPut(path, requestParams, head);
log.info("httpPut end,path:{},params:{},head:{}", path, requestParams, head);
CopyImageResponse CopyImageResponse = JSON.parseObject(response, CopyImageResponse.class);
return CopyImageResponse;
}
/**
* get 请求
*
* @param path
* @param requestObj
* @param head
* @return
* @throws Exception
*/
public CopyImageResponse doGet(String path, CopyImageRequest requestObj, Map head) throws Exception {
JSONObject requestParams = getRequestParams(requestObj);
String response = HttpClientUtils.httpGet(path, requestParams, head);
log.info("doGet end,path:{},params:{},head:{}", path, requestParams, head);
return JSON.parseObject(response, CopyImageResponse.class);
}
/**
* 构造请求参数
*
* @param requestObj
* @return
*/
private JSONObject getRequestParams(CopyImageRequest requestObj) throws Exception {
JSONObject requestParams = new JSONObject();
//设置证书
getCommonParams(credential, requestParams);
//设置接口属性
requestParams.put("Service", service);
requestParams.put("Action", action);
requestParams.put("Version", version);
//设置请求体请求参数
setRequestField(requestObj,requestParams);
//签名
String signature = SignUtils.signature(requestParams, credential.getSignStr());
requestParams.put("Signature", signature);
return requestParams;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy