Skip to content

Commit cddb9af

Browse files
committed
bugfix: for ecs 3.8.0
1 parent 95c08c7 commit cddb9af

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

volcstack-java-sdk-core/src/main/java/com/volcengine/volcstack/ApiClient.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,12 +1012,16 @@ private boolean isPostBody(Map<String, String> headerParams) {
10121012
return false;
10131013
}
10141014

1015+
private void updateQueryParams(List<Pair> queryParams,String[] param){
1016+
queryParams.add(new Pair("Action", param[1]));
1017+
queryParams.add(new Pair("Version", param[2]));
1018+
}
1019+
10151020
private ServiceInfo addPairAndGetServiceInfo(String path, List<Pair> queryParams, Map<String, String> headerParams) {
10161021
String[] param = path.split("/");
10171022

10181023
if (!isApplicationJsonBody(headerParams) && !isPostBody(headerParams)) {
1019-
queryParams.add(new Pair("Action", param[1]));
1020-
queryParams.add(new Pair("Version", param[2]));
1024+
updateQueryParams(queryParams,param);
10211025
}
10221026
return new ServiceInfo(param[3], param[4]);
10231027
}
@@ -1046,6 +1050,7 @@ private boolean convertResponseBody(String source,StringBuilder stringBuilder) {
10461050
private void buildSimpleRequest(Object body, List<Pair> queryParams, Map<String, String> headerParams, StringBuilder builder, String chain) throws Exception {
10471051
if (isApplicationJsonBody(headerParams)) {
10481052
builder.append(json.serialize(body));
1053+
return;
10491054
}
10501055
Class<?> clazz = body.getClass();
10511056

@@ -1182,8 +1187,14 @@ public Request buildRequest(String path, String method, List<Pair> queryParams,
11821187
formParams.put(pair.getName(), pair.getValue());
11831188
}
11841189
reqBody = buildRequestBodyFormEncoding(formParams);
1190+
// fix action & version
1191+
queryParams.clear();
1192+
updateQueryParams(queryParams,path.split("/"));
11851193
} else if ("multipart/form-data".equals(contentType)) {
11861194
reqBody = buildRequestBodyMultipart(formParams);
1195+
// fix action & version
1196+
queryParams.clear();
1197+
updateQueryParams(queryParams,path.split("/"));
11871198
} else if (body == null) {
11881199
if ("DELETE".equals(method)) {
11891200
// allow calling DELETE without sending a request body
@@ -1192,8 +1203,14 @@ public Request buildRequest(String path, String method, List<Pair> queryParams,
11921203
// use an empty request body (for POST, PUT and PATCH)
11931204
reqBody = RequestBody.create(MediaType.parse(contentType), "");
11941205
}
1206+
// fix action & version
1207+
queryParams.clear();
1208+
updateQueryParams(queryParams,path.split("/"));
11951209
} else {
11961210
reqBody = serialize(body, contentType);
1211+
// fix action & version
1212+
queryParams.clear();
1213+
updateQueryParams(queryParams,path.split("/"));
11971214
}
11981215
//sign
11991216
updateParamsForAuth(authNames, queryParams, headerParams, serviceInfo, getPayload(contentType,

volcstack-java-sdk-core/src/main/java/com/volcengine/volcstack/sign/VolcstackSign.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ private void buildSignedHeaders(Map<String, String> headerParams, SignRequest si
178178
StringBuilder canonicalHeaders = new StringBuilder("");
179179
StringBuilder signedHeaders = new StringBuilder("");
180180
for (String key : listHeaderKeys) {
181+
if (!key.equalsIgnoreCase("x-date")){
182+
continue;
183+
}
181184
canonicalHeaders.append(key.toLowerCase());
182185
canonicalHeaders.append(":");
183186
canonicalHeaders.append(headerParams.get(key));

0 commit comments

Comments
 (0)