com.ksyun.ks3.service.request.InitiateBucketWormRequest Maven / Gradle / Ivy
package com.ksyun.ks3.service.request;
import com.ksyun.ks3.http.HttpHeaders;
import com.ksyun.ks3.http.HttpMethod;
import com.ksyun.ks3.http.Request;
import com.ksyun.ks3.utils.Md5Utils;
import com.ksyun.ks3.utils.StringUtils;
import com.ksyun.ks3.utils.XmlWriter;
import java.io.ByteArrayInputStream;
import java.security.PrivateKey;
import static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.between;
import static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.notNull;
public class InitiateBucketWormRequest extends Ks3WebServiceRequest{
private String bucketName;
private int retentionPeriodInDays;
public InitiateBucketWormRequest(String bucketName, int retentionPeriodInDays){
this.bucketName = bucketName;
this.retentionPeriodInDays = retentionPeriodInDays;
}
public String getBucketName() {
return bucketName;
}
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
public int getRetentionPeriodInDays() {
return retentionPeriodInDays;
}
public void setRetentionPeriodInDays(int retentionPeriodInDays) {
this.retentionPeriodInDays = retentionPeriodInDays;
}
@Override
public void buildRequest(Request request){
request.setMethod(HttpMethod.POST);
request.setBucket(bucketName);
request.addQueryParam("worm","");
XmlWriter writer = new XmlWriter();
writer.start("InitiateWormConfiguration");
writer.start("RetentionPeriodInDays").value(retentionPeriodInDays).end();
writer.end();
String xml = writer.toString();
request.addHeader(HttpHeaders.ContentMD5, Md5Utils.md5AsBase64(xml.getBytes()));
request.setContent(new ByteArrayInputStream(xml.getBytes()));
}
@Override
public void validateParams(){
if(StringUtils.isBlank(this.bucketName)){
throw notNull("bucketName");
}
if(retentionPeriodInDays < 1 || retentionPeriodInDays > 36500){
throw between("retentionPeriodInDays",String.valueOf(retentionPeriodInDays),"1","36500");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy