Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fb7e7a9

Browse files
atptroJacksonTian
authored andcommitted
add region id and user agent in the http header
1 parent 45a6931 commit fb7e7a9

File tree

4 files changed

+18
-5
lines changed

4 files changed

+18
-5
lines changed

aliyun-java-sdk-core/src/main/java/com/aliyuncs/DefaultAcsClient.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,18 @@ public class DefaultAcsClient implements IAcsClient {
4242
private static final String SIGNATURE_BEGIN = "string to sign is:";
4343
private final UserAgentConfig userAgentConfig = new UserAgentConfig();
4444

45+
@Deprecated
4546
public DefaultAcsClient() throws ClientException {
4647
this.clientProfile = DefaultProfile.getProfile();
4748
this.httpClient = HttpClientFactory.buildClient(this.clientProfile);
49+
}
50+
51+
public DefaultAcsClient(String regionId) throws ClientException {
52+
this.clientProfile = DefaultProfile.getProfile(regionId);
53+
this.httpClient = HttpClientFactory.buildClient(this.clientProfile);
4854
this.defaultCredentialsProvider = new DefaultCredentialsProvider();
55+
this.endpointResolver = new DefaultEndpointResolver(this);
56+
this.appendUserAgent("HTTPClient", this.httpClient.getClass().getSimpleName());
4957
}
5058

5159
public DefaultAcsClient(IClientProfile profile) {
@@ -62,7 +70,7 @@ public DefaultAcsClient(IClientProfile profile, AlibabaCloudCredentialsProvider
6270
this.clientProfile.setCredentialsProvider(this.credentialsProvider);
6371
this.httpClient = HttpClientFactory.buildClient(this.clientProfile);
6472
this.endpointResolver = new DefaultEndpointResolver(this, profile);
65-
this.appendUserAgent("Client", this.httpClient.getClass().getSimpleName());
73+
this.appendUserAgent("HTTPClient", this.httpClient.getClass().getSimpleName());
6674
}
6775

6876
@Override

aliyun-java-sdk-core/src/main/java/com/aliyuncs/RoaAcsRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ public void setSysVersion(String version) {
7171
this.putHeaderParameter("x-acs-version", version);
7272
}
7373

74-
@Deprecated
7574
public Map<String, String> getPathParameters() {
7675
return Collections.unmodifiableMap(pathParameters);
7776
}
@@ -146,6 +145,7 @@ public HttpRequest signRequest(Signer signer, AlibabaCloudCredentials credential
146145
if (null != signer && null != credentials) {
147146
String accessKeyId = credentials.getAccessKeyId();
148147
imutableMap = this.composer.refreshSignParameters(this.getSysHeaders(), signer, accessKeyId, format);
148+
imutableMap.put("RegionId", this.getSysRegionId());
149149
if (credentials instanceof BasicSessionCredentials) {
150150
String sessionToken = ((BasicSessionCredentials) credentials).getSessionToken();
151151
if (null != sessionToken) {

aliyun-java-sdk-core/src/main/java/com/aliyuncs/auth/AuthConstant.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class AuthConstant {
2020
public static final String INI_ROLE_ARN = "role_arn";
2121

2222
public static final long TSC_VALID_TIME_SECONDS = 3600L;
23-
public static final String DEFAULT_REGION = "cn-hangzhou";
23+
public static final String DEFAULT_REGION = "region_id";
2424
public static final String INI_ENABLE = "enable";
2525

2626
}

aliyun-java-sdk-core/src/test/java/com/aliyuncs/DefaultAcsClientTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ public class DefaultAcsClientTest {
4747
public void testConstructor() throws ClientException, IOException {
4848
DefaultAcsClient client = new DefaultAcsClient();
4949
Assert.assertTrue(DefaultProfile.getProfile() == client.getProfile());
50+
51+
client = new DefaultAcsClient("cn-test");
52+
Assert.assertEquals("cn-test", client.getProfile().getRegionId());
53+
Assert.assertEquals("ApacheHttpClient",
54+
client.getUserAgentConfig().getSysUserAgentsMap().get("HTTPClient"));
5055
}
5156

5257
@SuppressWarnings("deprecation")
@@ -382,7 +387,7 @@ public void testDoActionEndpointTestabilityException() throws ClientException, I
382387
public void doActionTest() throws ClientException {
383388
System.setProperty("alibabacloud.accessKeyId", "test");
384389
System.setProperty("alibabacloud.accessKeyIdSecret", "test");
385-
DefaultAcsClient client = new DefaultAcsClient();
390+
DefaultAcsClient client = new DefaultAcsClient("test");
386391
DefaultEndpointResolver endpointResolver = Mockito.mock(DefaultEndpointResolver.class);
387392
client.setEndpointResolver(endpointResolver);
388393
String endPoint = "endpoint-test.exception.com";
@@ -694,7 +699,7 @@ public void userAgentConfigTest() {
694699
client.appendUserAgent("order", "1.2.2");
695700
String userAgent = UserAgentConfig.resolve(null, client.getUserAgentConfig());
696701
String resultStr = UserAgentConfig.getDefaultMessage()
697-
+ " Client/ApacheHttpClient test/1.2.3 order/1.2.2";
702+
+ " HTTPClient/ApacheHttpClient test/1.2.3 order/1.2.2";
698703
Assert.assertEquals(resultStr, userAgent);
699704
}
700705
}

0 commit comments

Comments
 (0)