private static void addDateIfNotNull(XmlWriter writer, String tagName, Date tagValue) { if (tagValue != null) { writer.start(tagName).value(ServiceUtils.formatIso8601Date(tagValue)).end(); } } }
private boolean canUseVirtualAddressing() { return BucketNameUtils.isDNSBucketName(endpointResolver.getBucketName()); }
/** * Convience method that allows the DNS rules to be altered for different SDKs. */ public static boolean isDNSBucketName(String bucketName) { return isValidV2BucketName( bucketName ); }
public byte[] convertToXmlByteArray(ObjectLockLegalHold legalHold) { XmlWriter writer = new XmlWriter(); writer.start("LegalHold", "xmlns", Constants.XML_NAMESPACE); addIfNotNull(writer, "Status", legalHold.getStatus()); writer.end(); return writer.getBytes(); } }
private AWSS3V4Signer buildSigV4Signer(final String region) { AWSS3V4Signer v4Signer = new AWSS3V4Signer(); v4Signer.setRegionName(region); v4Signer.setServiceName(AmazonS3Client.S3_SERVICE_NAME); return v4Signer; }
@Override public AmazonWebServiceResponse<T> handle(HttpResponse response) throws Exception { AmazonWebServiceResponse<T> awsResponse = super.handle(response); T result = awsResponse.getResult(); if (result != null) { for (HeaderHandler<T> handler : headerHandlers) { handler.handle(result, response); } } return awsResponse; } }
private AuthRetryParameters redirectToRegionInHeader(Request<?> request, HttpResponse response) { final String region = getServingRegionHeader(response); AWSS3V4Signer v4Signer = buildSigV4Signer(region); endpointResolver.resolveRequestEndpoint(request, region); return buildRetryParams(v4Signer, request.getEndpoint()); }
@Override public int read() throws IOException { byte[] b = new byte[1]; int bytesRead = read(b, 0, 1); if (bytesRead == -1) return bytesRead; return b[0]; }
/** * Calculate the canonical string for a REST/HTTP request to S3 by only * including query parameters that are mentioned in SIGNED_PARAMETERS. * * @see RestUtils#makeS3CanonicalString(String, String, Request, String, boolean) */ public static <T> String makeS3CanonicalString(String method, String resource, SignableRequest<T> request, String expires) { return makeS3CanonicalString(method, resource, request, expires, null); }
/** * Uploads the ciphertext via the non-encrypting s3 client. * @param reqUploadPart part upload request * @return the result of the part upload when there is no exception */ protected UploadPartResult uploadPart(UploadPartRequest reqUploadPart) { // Upload the ciphertext directly via the non-encrypting // s3 client return s3direct.uploadPart(reqUploadPart); }
public XmlWriter value(String value) { appendEscapedString(value, sb); return this; }
@Override public boolean needIntegrityCheck() { // Don't perform the integrity check if the checksum won't matchup. return !(s3 instanceof AmazonS3Encryption) && !skipMd5CheckStrategy.skipClientSideValidationPerRequest(getObjectRequest); } }
/** * {@inheritDoc} */ @Override public int read(byte[] b) throws IOException { return read(b, 0, b.length); }
/** * Set the request's endpoint and resource path with the same region it was originally * configured for * * @param request Request to set endpoint for */ public void resolveRequestEndpoint(Request<?> request) { resolveRequestEndpoint(request, null); }
public S3V4AuthErrorRetryStrategy(S3RequestEndpointResolver endpointResolver) { this(endpointResolver, new IsSigV4RetryablePredicate()); }
public CompleteMultipartUploadRetryCondition() { this(new CompleteMultipartUploadRetryablePredicate(), MAX_RETRY_ATTEMPTS); }
@Override public boolean needIntegrityCheck() { return !skipMd5CheckStrategy.skipClientSideValidationPerRequest(getObjectRequest); }