Refine search
/** * @deprecated in favor of {@link #parseRegionName(String, String)}. */ @Deprecated public static String parseRegionName(URI endpoint) { return parseRegionName(endpoint.getHost(), null); }
this.endpoint = uri; this.signerProvider = createSignerProvider(signer); this.signingRegion = AwsHostNameUtils.parseRegion(endpoint.toString(), getEndpointPrefix());
throw new IllegalArgumentException("hostname cannot be null"); String regionNameInInternalConfig = parseRegionNameByInternalConfig(host); if (regionNameInInternalConfig != null) { return regionNameInInternalConfig; return parseStandardRegionName(host.substring(0, index));
private String getSigningRegionForRequestURI(URI uri) { String regionName = awsClient.getSignerRegionOverride(); if (regionName == null) { regionName = AwsHostNameUtils.parseRegion(uri.getHost(), awsClient.getEndpointPrefix()); } return regionName; } }
@Test public void testS3SpecialRegions() { assertEquals("us-east-1", AwsHostNameUtils.parseRegionName("s3-external-1.amazonaws.com", null)); assertEquals("us-east-1", AwsHostNameUtils.parseRegionName( "bucket.name.with.periods.s3-external-1.amazonaws.com", null)); assertEquals("us-gov-west-1", AwsHostNameUtils.parseRegionName("s3-fips-us-gov-west-1.amazonaws.com", null)); assertEquals("us-gov-west-1", AwsHostNameUtils.parseRegionName( "bucket.name.with.periods.s3-fips-us-gov-west-1.amazonaws.com", null)); }
/** * Attempts to parse the region name from an endpoint based on conventions * about the endpoint format. * * @param host the hostname to parse * @param serviceHint an optional hint about the service for the endpoint * @return the region parsed from the hostname, or * "us-east-1" if no region information * could be found. * @deprecated in favor of {@link #parseRegion(String, String)}. */ @Deprecated public static String parseRegionName(final String host, final String serviceHint) { String region = parseRegion(host, serviceHint); // If region is null, then endpoint is totally non-standard; // guess us-east-1 for lack of a better option. return region == null ? "us-east-1" : region; }
protected String extractServiceName(URI endpoint) { if (serviceName != null) { return serviceName; } // This should never actually be called, as we should always be setting // a service name on the signer; retain it for now in case anyone is // using the AWS4Signer directly and not setting a service name // explicitly. return AwsHostNameUtils.parseServiceName(endpoint); }
@Override public void beforeRequest(Request<?> request) { if (!requestClassToPreSign.isInstance(request.getOriginalRequest())) return; if (request.getParameters().containsKey(PARAM_PRESIGNED_URL)) return; PresignableRequest presignableRequest = adaptRequest(requestClassToPreSign.cast( request.getOriginalRequest())); String sourceRegion = presignableRequest.getSourceRegion(); if (sourceRegion == null) return; String destinationRegion = AwsHostNameUtils.parseRegion(request.getEndpoint().getHost(), SERVICE_NAME); Request<?> requestToPresign = presignableRequest.marshall(); requestToPresign.getParameters().remove(PARAM_SOURCE_REGION); requestToPresign.getParameters().put(PARAM_DESTINATION_REGION, Arrays.asList(destinationRegion)); requestToPresign.setEndpoint(createEndpoint(sourceRegion, SERVICE_NAME)); requestToPresign.setHttpMethod(HttpMethodName.GET); AWSCredentials credentials = request.getHandlerContext(HandlerContextKey.AWS_CREDENTIALS); requestToPresign = presignRequest(requestToPresign, credentials, sourceRegion); final String presignedUrl = generateUrl(requestToPresign); presignableRequest.setPreSignedUrl(presignedUrl); request.addParameter(PARAM_PRESIGNED_URL, presignedUrl); // Remove the unmodeled params to stop them getting onto the wire request.getParameters().remove(PARAM_SOURCE_REGION); }
@Test public void testBJS() { // Verify that BJS endpoints parse correctly even though they're // non-standard. assertEquals("cn-north-1", AwsHostNameUtils.parseRegionName("iam.cn-north-1.amazonaws.com.cn", "iam")); assertEquals("cn-north-1", AwsHostNameUtils.parseRegionName("ec2.cn-north-1.amazonaws.com.cn", "ec2")); assertEquals("cn-north-1", AwsHostNameUtils.parseRegionName("s3.cn-north-1.amazonaws.com.cn", "s3")); assertEquals("cn-north-1", AwsHostNameUtils.parseRegionName( "bucket.name.with.periods.s3.cn-north-1.amazonaws.com.cn", "s3")); }
this.endpoint = uri; this.signerProvider = createSignerProvider(signer); this.signingRegion = AwsHostNameUtils.parseRegion(endpoint, getEndpointPrefix());
@Test public void testParseServiceName() { // Verify that parseServiceName keeps working the way it used to. assertEquals("iam", AwsHostNameUtils.parseServiceName(IAM_ENDPOINT)); assertEquals("iam", AwsHostNameUtils.parseServiceName(IAM_REGION_ENDPOINT)); assertEquals("ec2", AwsHostNameUtils.parseServiceName(EC2_REGION_ENDPOINT)); assertEquals("s3", AwsHostNameUtils.parseServiceName(S3_ENDPOINT)); assertEquals("s3", AwsHostNameUtils.parseServiceName(S3_BUCKET_ENDPOINT)); assertEquals("s3", AwsHostNameUtils.parseServiceName(S3_REGION_ENDPOINT)); assertEquals("s3", AwsHostNameUtils.parseServiceName(S3_BUCKET_REGION_ENDPOINT)); }
private String resolveRegion(String endpointPrefix, String serviceSigningName) { return AwsHostNameUtils.parseRegionName(request.getEndpoint().getHost(), endpointPrefix != null ? endpointPrefix : serviceSigningName); }
this.endpoint = uri; this.signerProvider = createSignerProvider(signer); this.signingRegion = AwsHostNameUtils.parseRegion(endpoint.toString(), getEndpointPrefix());
requestRegion = AwsHostNameUtils.parseRegion(requestEndpoint.getHost(), S3_SERVICE_NAME);
throw new IllegalArgumentException("hostname cannot be null"); String regionNameInInternalConfig = parseRegionNameByInternalConfig(host); if (regionNameInInternalConfig != null) { return regionNameInInternalConfig; return parseStandardRegionName(host.substring(0, index)); return parseStandardRegionName(host.substring(0, index));
@Test public void testStandard() { // Verify that standard endpoints parse correctly with a service hint assertEquals("us-east-1", AwsHostNameUtils.parseRegionName("iam.amazonaws.com", "iam")); assertEquals("us-west-2", AwsHostNameUtils.parseRegionName("iam.us-west-2.amazonaws.com", "iam")); assertEquals("us-west-2", AwsHostNameUtils.parseRegionName("ec2.us-west-2.amazonaws.com", "ec2")); assertEquals("us-east-1", AwsHostNameUtils.parseRegionName("s3.amazonaws.com", "s3")); assertEquals("us-east-1", AwsHostNameUtils.parseRegionName("bucket.name.s3.amazonaws.com", "s3")); assertEquals("eu-west-1", AwsHostNameUtils.parseRegionName("s3-eu-west-1.amazonaws.com", "s3")); assertEquals("eu-west-1", AwsHostNameUtils.parseRegionName("s3.eu-west-1.amazonaws.com", "s3")); assertEquals("eu-west-1", AwsHostNameUtils.parseRegionName( "bucket.name.with.periods.s3-eu-west-1.amazonaws.com", "s3")); assertEquals("eu-west-1", AwsHostNameUtils.parseRegionName( "bucket.name.with.periods.s3.eu-west-1.amazonaws.com", "s3")); }
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration( endpoint, AwsHostNameUtils.parseRegion( endpoint, null
protected String extractServiceName(URI endpoint) { if (serviceName != null) { return serviceName; } // This should never actually be called, as we should always be setting // a service name on the signer; retain it for now in case anyone is // using the AWS4Signer directly and not setting a service name // explicitly. return AwsHostNameUtils.parseServiceName(endpoint); }
/** * @deprecated use {@link AmazonS3ClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} */ @Override @Deprecated public synchronized void setEndpoint(String endpoint) { if (ServiceUtils.isS3AccelerateEndpoint(endpoint)) { throw new IllegalStateException("To enable accelerate mode, please use AmazonS3ClientBuilder.withAccelerateModeEnabled(true)"); } else { super.setEndpoint(endpoint); /* * Extract the region string from the endpoint if it's not known to be a * global S3 endpoint. */ if (!ServiceUtils.isS3USStandardEndpoint(endpoint)) { clientRegion = AwsHostNameUtils.parseRegionName(this.endpoint.getHost(), S3_SERVICE_NAME); } } }
private String getSigningRegionForRequestURI(URI uri) { String regionName = awsClient.getSignerRegionOverride(); if (regionName == null) { regionName = AwsHostNameUtils.parseRegion(uri.getHost(), awsClient.getEndpointPrefix()); } return regionName; } }