private S3RequestEndpointResolver buildEndpointResolver(ServiceEndpointBuilder serviceEndpointBuilder, String bucketName, String key) { return new S3RequestEndpointResolver(serviceEndpointBuilder, clientOptions.isPathStyleAccess(), bucketName, key); }
/** * Set the request's endpoint and resource path with the new region provided * * @param request Request to set endpoint for * @param regionString New region to determine endpoint to hit */ public void resolveRequestEndpoint(Request<?> request, String regionString) { if (regionString != null) { final Region r = RegionUtils.getRegion(regionString); if (r == null) { throw new SdkClientException("Not able to determine region" + " for " + regionString + ".Please upgrade to a newer " + "version of the SDK"); } endpointBuilder.withRegion(r); } final URI endpoint = endpointBuilder.getServiceEndpoint(); if (shouldUseVirtualAddressing(endpoint)) { request.setEndpoint(convertToVirtualHostEndpoint(endpoint, bucketName)); request.setResourcePath(SdkHttpUtils.urlEncode(getHostStyleResourcePath(), true)); } else { request.setEndpoint(endpoint); if (bucketName != null) { request.setResourcePath(SdkHttpUtils.urlEncode(getPathStyleResourcePath(), true)); } } }
private boolean canUseVirtualAddressing() { return BucketNameUtils.isDNSBucketName(endpointResolver.getBucketName()); }
/** * 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); }
private boolean shouldUseVirtualAddressing(final URI endpoint) { return !isPathStyleAccess && BucketNameUtils.isDNSBucketName(bucketName) && !isValidIpV4Address(endpoint.getHost()); }
/** * Configure the given request with an endpoint and resource path based on the bucket name and * key provided */ private void resolveRequestEndpoint(Request<?> request, String bucketName, String key, URI endpoint) { ServiceEndpointBuilder builder = getBuilder(endpoint, endpoint.getScheme(), false); buildEndpointResolver(builder, bucketName, key).resolveRequestEndpoint(request); }
private boolean shouldUseVirtualAddressing(final URI endpoint) { return !isPathStyleAccess && BucketNameUtils.isDNSBucketName(bucketName) && !isValidIpV4Address(endpoint.getHost()); }
/** * Set the request's endpoint and resource path with the new region provided * * @param request Request to set endpoint for * @param regionString New region to determine endpoint to hit */ public void resolveRequestEndpoint(Request<?> request, String regionString) { if (regionString != null) { final Region r = RegionUtils.getRegion(regionString); if (r == null) { throw new SdkClientException("Not able to determine region" + " for " + regionString + ".Please upgrade to a newer " + "version of the SDK"); } endpointBuilder.withRegion(r); } final URI endpoint = endpointBuilder.getServiceEndpoint(); if (shouldUseVirtualAddressing(endpoint)) { request.setEndpoint(convertToVirtualHostEndpoint(endpoint, bucketName)); request.setResourcePath(SdkHttpUtils.urlEncode(getHostStyleResourcePath(), true)); } else { request.setEndpoint(endpoint); if (bucketName != null) { request.setResourcePath(SdkHttpUtils.urlEncode(getPathStyleResourcePath(), true)); } } }
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()); }
private S3RequestEndpointResolver buildDefaultEndpointResolver(String protocol, String bucketName, String key) { ServiceEndpointBuilder builder = getBuilder(endpoint, protocol, true); return new S3RequestEndpointResolver(builder, clientOptions.isPathStyleAccess(), bucketName, key); }
/** * If the response doesn't have the x-amz-region header we have to resort to sending a request * to s3-external-1 * * @return */ private AuthRetryParameters redirectToS3External() { AWSS3V4Signer v4Signer = buildSigV4Signer(Regions.US_EAST_1.getName()); try { URI bucketEndpoint = new URI( String.format("https://%s.s3-external-1.amazonaws.com", endpointResolver.getBucketName())); return buildRetryParams(v4Signer, bucketEndpoint); } catch (URISyntaxException e) { throw new SdkClientException( "Failed to re-send the request to \"s3-external-1.amazonaws.com\". " + V4_REGION_WARNING, e); } }
/** * 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); }
private S3RequestEndpointResolver buildEndpointResolver(ServiceEndpointBuilder serviceEndpointBuilder, String bucketName, String key) { return new S3RequestEndpointResolver(serviceEndpointBuilder, clientOptions.isPathStyleAccess(), bucketName, key); }
private boolean canUseVirtualAddressing() { return BucketNameUtils.isDNSBucketName(endpointResolver.getBucketName()); }
/** * Configure the given request with an endpoint and resource path based on the bucket name and * key provided */ private void resolveRequestEndpoint(Request<?> request, String bucketName, String key, URI endpoint) { ServiceEndpointBuilder builder = getBuilder(endpoint, endpoint.getScheme(), false); buildEndpointResolver(builder, bucketName, key).resolveRequestEndpoint(request); }
private S3RequestEndpointResolver buildDefaultEndpointResolver(String protocol, String bucketName, String key) { ServiceEndpointBuilder builder = getBuilder(endpoint, protocol, true); return new S3RequestEndpointResolver(builder, clientOptions.isPathStyleAccess(), bucketName, key); }
/** * If the response doesn't have the x-amz-region header we have to resort to sending a request * to s3-external-1 * * @return */ private AuthRetryParameters redirectToS3External() { AWSS3V4Signer v4Signer = buildSigV4Signer(Regions.US_EAST_1.getName()); try { URI bucketEndpoint = new URI( String.format("https://%s.s3-external-1.amazonaws.com", endpointResolver.getBucketName())); return buildRetryParams(v4Signer, bucketEndpoint); } catch (URISyntaxException e) { throw new SdkClientException( "Failed to re-send the request to \"s3-external-1.amazonaws.com\". " + V4_REGION_WARNING, e); } }
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()); }