com.ksyun.ks3.service.request.PutBucketEncryptionRequest Maven / Gradle / Ivy
package com.ksyun.ks3.service.request;
import com.ksyun.ks3.dto.ServerSideEncryptionConfiguration;
import com.ksyun.ks3.dto.ServerSideEncryptionResult;
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 static com.ksyun.ks3.exception.client.ClientIllegalArgumentExceptionGenerator.notNull;
public class PutBucketEncryptionRequest extends Ks3WebServiceRequest{
private String bucketName;
private ServerSideEncryptionConfiguration serverSideEncryptionConfiguration;
public PutBucketEncryptionRequest(String bucketName, ServerSideEncryptionConfiguration serverSideEncryptionConfiguration){
this.bucketName = bucketName;
this.serverSideEncryptionConfiguration = serverSideEncryptionConfiguration;
}
public String getBucketName() {
return bucketName;
}
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
@Override
public void buildRequest(Request request){
request.setMethod(HttpMethod.PUT);
request.setBucket(bucketName);
request.addQueryParam("encryption", "");
XmlWriter writer = new XmlWriter();
writer.startWithNs("ServerSideEncryptionConfiguration");
writer.start("Rule");
writer.start("ApplyServerSideEncryptionByDefault");
if(serverSideEncryptionConfiguration.getRule().getApplyServerSideEncryptionByDefault().getKmsMasterKeyID() != null){
writer.start("KMSMasterKeyID").value(serverSideEncryptionConfiguration.getRule().getApplyServerSideEncryptionByDefault().getKmsMasterKeyID()).end();
}
if(serverSideEncryptionConfiguration.getRule().getApplyServerSideEncryptionByDefault().getSseAlgorithm() != null){
writer.start("SSEAlgorithm").value(serverSideEncryptionConfiguration.getRule().getApplyServerSideEncryptionByDefault().getSseAlgorithm()).end();
}
writer.end();
writer.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");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy