in src/main/java/com/awslabs/sqs/helpers/implementations/BasicSqsHelper.java [87:109]
private SqsClient getRegionSpecificClientForQueue(QueueUrl queueUrl) {
Region currentRegion = awsRegionProviderChain.getRegion();
// SQS queue URLs look like this: "https://sqs.REGION.amazonaws.com/xxxxxxxxxxxx/yyyyyyyyyy
String url = queueUrl.getUrl();
url = url.replace("https://", "");
String[] urlComponents = url.split("\\.");
if (urlComponents.length < 4) {
throw new RuntimeException("Could not parse the region out of the queue URL [" + queueUrl.getUrl() + "]");
}
String queueRegionString = urlComponents[1];
Region queueRegion = Region.of(queueRegionString);
if (!queueRegion.equals(currentRegion)) {
return sqsClientBuilderProvider.get().region(queueRegion).build();
} else {
return getDefaultSqsClient();
}
}