Skip to content

Commit 5c18f81

Browse files
committed
fix npe
1 parent c345fc2 commit 5c18f81

File tree

9 files changed

+78
-47
lines changed

9 files changed

+78
-47
lines changed

alibabacloud-gateway-pop/csharp/core/Client.cs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -579,14 +579,18 @@ public string BuildCanonicalizedHeaders(Dictionary<string, string> headers)
579579

580580
foreach (var key in headersArray) {
581581
string lowerKey = AlibabaCloud.DarabonbaString.StringUtil.ToLower(key);
582-
if (!AlibabaCloud.DarabonbaString.StringUtil.Contains(tmp, lowerKey))
582+
string value = headers.Get(key);
583+
if (!AlibabaCloud.TeaUtil.Common.IsUnset(value))
583584
{
584-
tmp = "" + tmp + "," + lowerKey;
585-
newHeaders[lowerKey] = AlibabaCloud.DarabonbaString.StringUtil.Trim(headers.Get(key));
586-
}
587-
else
588-
{
589-
newHeaders[lowerKey] = "" + newHeaders.Get(lowerKey) + "," + AlibabaCloud.DarabonbaString.StringUtil.Trim(headers.Get(key));
585+
if (!AlibabaCloud.DarabonbaString.StringUtil.Contains(tmp, lowerKey))
586+
{
587+
tmp = "" + tmp + "," + lowerKey;
588+
newHeaders[lowerKey] = AlibabaCloud.DarabonbaString.StringUtil.Trim(value);
589+
}
590+
else
591+
{
592+
newHeaders[lowerKey] = "" + newHeaders.Get(lowerKey) + "," + AlibabaCloud.DarabonbaString.StringUtil.Trim(value);
593+
}
590594
}
591595
}
592596
string canonicalizedHeaders = "";
@@ -609,7 +613,8 @@ public List<string> GetSignedHeaders(Dictionary<string, string> headers)
609613
string lowerKey = AlibabaCloud.DarabonbaString.StringUtil.ToLower(key);
610614
if (AlibabaCloud.DarabonbaString.StringUtil.HasPrefix(lowerKey, "x-acs-") || AlibabaCloud.DarabonbaString.StringUtil.Equals(lowerKey, "host") || AlibabaCloud.DarabonbaString.StringUtil.Equals(lowerKey, "content-type"))
611615
{
612-
if (!AlibabaCloud.DarabonbaString.StringUtil.Contains(tmp, lowerKey))
616+
string value = headers.Get(key);
617+
if (!AlibabaCloud.TeaUtil.Common.IsUnset(value) && !AlibabaCloud.DarabonbaString.StringUtil.Contains(tmp, lowerKey))
613618
{
614619
tmp = "" + tmp + separator + lowerKey;
615620
separator = ";";

alibabacloud-gateway-pop/csharp/core/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@
2929
// Build Number
3030
// Revision
3131
//
32-
[assembly: AssemblyVersion("0.0.9.0")]
33-
[assembly: AssemblyFileVersion("0.0.9.0")]
32+
[assembly: AssemblyVersion("0.1.0.0")]
33+
[assembly: AssemblyFileVersion("0.1.0.0")]

alibabacloud-gateway-pop/golang/client/client.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -423,11 +423,15 @@ func (client *Client) BuildCanonicalizedHeaders(headers map[string]*string) (_re
423423
tmp := tea.String("")
424424
for _, key := range headersArray {
425425
lowerKey := string_.ToLower(key)
426-
if !tea.BoolValue(string_.Contains(tmp, lowerKey)) {
427-
tmp = tea.String(tea.StringValue(tmp) + "," + tea.StringValue(lowerKey))
428-
newHeaders[tea.StringValue(lowerKey)] = string_.Trim(headers[tea.StringValue(key)])
429-
} else {
430-
newHeaders[tea.StringValue(lowerKey)] = tea.String(tea.StringValue(newHeaders[tea.StringValue(lowerKey)]) + "," + tea.StringValue(string_.Trim(headers[tea.StringValue(key)])))
426+
value := headers[tea.StringValue(key)]
427+
if !tea.BoolValue(util.IsUnset(value)) {
428+
if !tea.BoolValue(string_.Contains(tmp, lowerKey)) {
429+
tmp = tea.String(tea.StringValue(tmp) + "," + tea.StringValue(lowerKey))
430+
newHeaders[tea.StringValue(lowerKey)] = string_.Trim(value)
431+
} else {
432+
newHeaders[tea.StringValue(lowerKey)] = tea.String(tea.StringValue(newHeaders[tea.StringValue(lowerKey)]) + "," + tea.StringValue(string_.Trim(value)))
433+
}
434+
431435
}
432436

433437
}
@@ -448,7 +452,8 @@ func (client *Client) GetSignedHeaders(headers map[string]*string) (_result []*s
448452
for _, key := range sortedHeadersArray {
449453
lowerKey := string_.ToLower(key)
450454
if tea.BoolValue(string_.HasPrefix(lowerKey, tea.String("x-acs-"))) || tea.BoolValue(string_.Equals(lowerKey, tea.String("host"))) || tea.BoolValue(string_.Equals(lowerKey, tea.String("content-type"))) {
451-
if !tea.BoolValue(string_.Contains(tmp, lowerKey)) {
455+
value := headers[tea.StringValue(key)]
456+
if !tea.BoolValue(util.IsUnset(value)) && !tea.BoolValue(string_.Contains(tmp, lowerKey)) {
452457
tmp = tea.String(tea.StringValue(tmp) + tea.StringValue(separator) + tea.StringValue(lowerKey))
453458
separator = tea.String(";")
454459
}

alibabacloud-gateway-pop/java/src/main/java/com/aliyun/gateway/pop/Client.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -318,11 +318,15 @@ public String buildCanonicalizedHeaders(java.util.Map<String, String> headers) t
318318
String tmp = "";
319319
for (String key : headersArray) {
320320
String lowerKey = com.aliyun.darabonbastring.Client.toLower(key);
321-
if (!com.aliyun.darabonbastring.Client.contains(tmp, lowerKey)) {
322-
tmp = "" + tmp + "," + lowerKey + "";
323-
newHeaders.put(lowerKey, com.aliyun.darabonbastring.Client.trim(headers.get(key)));
324-
} else {
325-
newHeaders.put(lowerKey, "" + newHeaders.get(lowerKey) + "," + com.aliyun.darabonbastring.Client.trim(headers.get(key)) + "");
321+
String value = headers.get(key);
322+
if (!com.aliyun.teautil.Common.isUnset(value)) {
323+
if (!com.aliyun.darabonbastring.Client.contains(tmp, lowerKey)) {
324+
tmp = "" + tmp + "," + lowerKey + "";
325+
newHeaders.put(lowerKey, com.aliyun.darabonbastring.Client.trim(value));
326+
} else {
327+
newHeaders.put(lowerKey, "" + newHeaders.get(lowerKey) + "," + com.aliyun.darabonbastring.Client.trim(value) + "");
328+
}
329+
326330
}
327331

328332
}
@@ -342,7 +346,8 @@ public java.util.List<String> getSignedHeaders(java.util.Map<String, String> hea
342346
for (String key : sortedHeadersArray) {
343347
String lowerKey = com.aliyun.darabonbastring.Client.toLower(key);
344348
if (com.aliyun.darabonbastring.Client.hasPrefix(lowerKey, "x-acs-") || com.aliyun.darabonbastring.Client.equals(lowerKey, "host") || com.aliyun.darabonbastring.Client.equals(lowerKey, "content-type")) {
345-
if (!com.aliyun.darabonbastring.Client.contains(tmp, lowerKey)) {
349+
String value = headers.get(key);
350+
if (!com.aliyun.teautil.Common.isUnset(value) && !com.aliyun.darabonbastring.Client.contains(tmp, lowerKey)) {
346351
tmp = "" + tmp + "" + separator + "" + lowerKey + "";
347352
separator = ";";
348353
}

alibabacloud-gateway-pop/main.tea

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,11 +303,14 @@ function buildCanonicalizedHeaders(headers: map[string]string): string {
303303
var tmp : string = '';
304304
for(var key : headersArray) {
305305
var lowerKey = String.toLower(key);
306-
if (!String.contains(tmp, lowerKey)) {
307-
tmp = `${tmp},${lowerKey}`;
308-
newHeaders[lowerKey] = String.trim(headers[key]);
309-
} else {
310-
newHeaders[lowerKey] = `${newHeaders[lowerKey]},${String.trim(headers[key])}`;
306+
var value = headers[key];
307+
if (!Util.isUnset(value)) {
308+
if (!String.contains(tmp, lowerKey)) {
309+
tmp = `${tmp},${lowerKey}`;
310+
newHeaders[lowerKey] = String.trim(value);
311+
} else {
312+
newHeaders[lowerKey] = `${newHeaders[lowerKey]},${String.trim(value)}`;
313+
}
311314
}
312315
}
313316

@@ -328,7 +331,8 @@ function getSignedHeaders(headers: map[string]string): [string] {
328331
var lowerKey = String.toLower(key);
329332
if (String.hasPrefix(lowerKey, 'x-acs-') || String.equals(lowerKey, 'host')
330333
|| String.equals(lowerKey, 'content-type')) {
331-
if (!String.contains(tmp, lowerKey)) {
334+
var value = headers[key];
335+
if (!Util.isUnset(value) && !String.contains(tmp, lowerKey)) {
332336
tmp = `${tmp}${separator}${lowerKey}`;
333337
separator = ';';
334338
}

alibabacloud-gateway-pop/php/src/Client.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -396,11 +396,14 @@ public function buildCanonicalizedHeaders($headers)
396396
$tmp = "";
397397
foreach ($headersArray as $key) {
398398
$lowerKey = StringUtil::toLower($key);
399-
if (!StringUtil::contains($tmp, $lowerKey)) {
400-
$tmp = "" . $tmp . "," . $lowerKey . "";
401-
$newHeaders[$lowerKey] = StringUtil::trim(@$headers[$key]);
402-
} else {
403-
$newHeaders[$lowerKey] = "" . @$newHeaders[$lowerKey] . "," . StringUtil::trim(@$headers[$key]) . "";
399+
$value = @$headers[$key];
400+
if (!Utils::isUnset($value)) {
401+
if (!StringUtil::contains($tmp, $lowerKey)) {
402+
$tmp = "" . $tmp . "," . $lowerKey . "";
403+
$newHeaders[$lowerKey] = StringUtil::trim($value);
404+
} else {
405+
$newHeaders[$lowerKey] = "" . @$newHeaders[$lowerKey] . "," . StringUtil::trim($value) . "";
406+
}
404407
}
405408
}
406409
$canonicalizedHeaders = "";
@@ -424,7 +427,8 @@ public function getSignedHeaders($headers)
424427
foreach ($sortedHeadersArray as $key) {
425428
$lowerKey = StringUtil::toLower($key);
426429
if (StringUtil::hasPrefix($lowerKey, "x-acs-") || StringUtil::equals($lowerKey, "host") || StringUtil::equals($lowerKey, "content-type")) {
427-
if (!StringUtil::contains($tmp, $lowerKey)) {
430+
$value = @$headers[$key];
431+
if (!Utils::isUnset($value) && !StringUtil::contains($tmp, $lowerKey)) {
428432
$tmp = "" . $tmp . "" . $separator . "" . $lowerKey . "";
429433
$separator = ";";
430434
}

alibabacloud-gateway-pop/python/alibabacloud_gateway_pop/client.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -464,11 +464,13 @@ def build_canonicalized_headers(
464464
tmp = ''
465465
for key in headers_array:
466466
lower_key = StringClient.to_lower(key)
467-
if not StringClient.contains(tmp, lower_key):
468-
tmp = f'{tmp},{lower_key}'
469-
new_headers[lower_key] = StringClient.trim(headers.get(key))
470-
else:
471-
new_headers[lower_key] = f'{new_headers.get(lower_key)},{StringClient.trim(headers.get(key))}'
467+
value = headers.get(key)
468+
if not UtilClient.is_unset(value):
469+
if not StringClient.contains(tmp, lower_key):
470+
tmp = f'{tmp},{lower_key}'
471+
new_headers[lower_key] = StringClient.trim(value)
472+
else:
473+
new_headers[lower_key] = f'{new_headers.get(lower_key)},{StringClient.trim(value)}'
472474
canonicalized_headers = ''
473475
sorted_headers = self.get_signed_headers(headers)
474476
for header in sorted_headers:
@@ -486,7 +488,8 @@ def get_signed_headers(
486488
for key in sorted_headers_array:
487489
lower_key = StringClient.to_lower(key)
488490
if StringClient.has_prefix(lower_key, 'x-acs-') or StringClient.equals(lower_key, 'host') or StringClient.equals(lower_key, 'content-type'):
489-
if not StringClient.contains(tmp, lower_key):
491+
value = headers.get(key)
492+
if not UtilClient.is_unset(value) and not StringClient.contains(tmp, lower_key):
490493
tmp = f'{tmp}{separator}{lower_key}'
491494
separator = ';'
492495
return StringClient.split(tmp, ';', None)

alibabacloud-gateway-pop/python/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"""
2525
setup module for alibabacloud_gateway_pop.
2626
27-
Created on 15/08/2025
27+
Created on 11/11/2025
2828
2929
@author: Alibaba Cloud SDK
3030
"""

alibabacloud-gateway-pop/ts/src/client.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -328,11 +328,15 @@ export default class Client extends SPI {
328328

329329
for (let key of headersArray) {
330330
let lowerKey = String.toLower(key);
331-
if (!String.contains(tmp, lowerKey)) {
332-
tmp = `${tmp},${lowerKey}`;
333-
newHeaders[lowerKey] = String.trim(headers[key]);
334-
} else {
335-
newHeaders[lowerKey] = `${newHeaders[lowerKey]},${String.trim(headers[key])}`;
331+
let value = headers[key];
332+
if (!Util.isUnset(value)) {
333+
if (!String.contains(tmp, lowerKey)) {
334+
tmp = `${tmp},${lowerKey}`;
335+
newHeaders[lowerKey] = String.trim(value);
336+
} else {
337+
newHeaders[lowerKey] = `${newHeaders[lowerKey]},${String.trim(value)}`;
338+
}
339+
336340
}
337341

338342
}
@@ -354,7 +358,8 @@ export default class Client extends SPI {
354358
for (let key of sortedHeadersArray) {
355359
let lowerKey = String.toLower(key);
356360
if (String.hasPrefix(lowerKey, "x-acs-") || String.equals(lowerKey, "host") || String.equals(lowerKey, "content-type")) {
357-
if (!String.contains(tmp, lowerKey)) {
361+
let value = headers[key];
362+
if (!Util.isUnset(value) && !String.contains(tmp, lowerKey)) {
358363
tmp = `${tmp}${separator}${lowerKey}`;
359364
separator = ";";
360365
}

0 commit comments

Comments
 (0)