1
15 package com.amazonaws.services.sqs.internal;
16
17 import java.net.URI;
18 import java.util.HashMap;
19 import java.util.Map;
20
21 import com.amazonaws.Request;
22 import com.amazonaws.handlers.AbstractRequestHandler;
23
24 public class SQSRequestHandler extends AbstractRequestHandler {
25
26 private static final Map<String, String> nonstandardEndpointMap = new HashMap<String, String>();
27 static {
28 nonstandardEndpointMap.put("queue.amazonaws.com", "sqs.us-east-1.amazonaws.com");
29 nonstandardEndpointMap.put("us-west-1.queue.amazonaws.com", "sqs.us-west-1.amazonaws.com");
30 nonstandardEndpointMap.put("us-west-2.queue.amazonaws.com", "sqs.us-west-2.amazonaws.com");
31 nonstandardEndpointMap.put("eu-west-1.queue.amazonaws.com", "sqs.eu-west-1.amazonaws.com");
32 nonstandardEndpointMap.put("ap-southeast-1.queue.amazonaws.com", "sqs.ap-southeast-1.amazonaws.com");
33 nonstandardEndpointMap.put("ap-northeast-1.queue.amazonaws.com", "sqs.ap-northeast-1.amazonaws.com");
34 nonstandardEndpointMap.put("sa-east-1.queue.amazonaws.com", "sqs.sa-east-1.amazonaws.com");
35 nonstandardEndpointMap.put("us-gov-west-1.queue.amazonaws.com", "sqs.us-gov-west-1.amazonaws.com");
36 nonstandardEndpointMap.put("ap-southeast-2.queue.amazonaws.com", "sqs.ap-southeast-2.amazonaws.com");
37 }
38
39 @Override
40 public void beforeRequest(Request<?> request) {
41 URI endpoint = request.getEndpoint();
42
43
44
45 if (nonstandardEndpointMap.containsKey(endpoint.getHost())) {
46 String newHost = nonstandardEndpointMap.get(endpoint.getHost());
47 String newEndpoint = endpoint.toString().replaceFirst(endpoint.getHost(), newHost);
48 request.setEndpoint(URI.create(newEndpoint));
49 }
50 }
51 }
52