Skip to content

Commit 81345ae

Browse files
committed
Chore: 为tea package添加go.mod文件
1 parent 5d47339 commit 81345ae

File tree

2 files changed

+35
-17
lines changed

2 files changed

+35
-17
lines changed

tea/go.mod

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module github.com/aliyun/aliyun-odps-go-sdk/tea
2+
3+
go 1.15

tea/utils/utils.go

+32-17
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@ const (
2020
var GMT, _ = time.LoadLocation("GMT")
2121

2222
// GetApiTimestamp 获取格式为 'Fri, 13 Dec 2024 02:57:00 GMT' 的时间戳
23-
func GetApiTimestamp() (result string) {
24-
return time.Now().In(GMT).Format(time.RFC1123)
23+
func GetApiTimestamp() (result *string) {
24+
timestamp := time.Now().In(GMT).Format(time.RFC1123)
25+
return &timestamp
2526
}
2627

2728
// BuildCanonicalString 构建规范字符串
28-
func BuildCanonicalString(method string, resource string, params map[string]string, headers map[string]string) (result string) {
29+
func BuildCanonicalString(method *string, resource *string, params map[string]*string, headers map[string]*string) (result *string) {
2930
var builder strings.Builder
30-
builder.WriteString(method + "\n")
31+
builder.WriteString(*method + "\n")
3132

3233
headersToSign := make(map[string]string)
3334

@@ -36,7 +37,11 @@ func BuildCanonicalString(method string, resource string, params map[string]stri
3637
if key != "" {
3738
lowerKey := strings.ToLower(key)
3839
if lowerKey == strings.ToLower(ContentMD5) || lowerKey == strings.ToLower(ContentType) || lowerKey == strings.ToLower(Date) || strings.HasPrefix(lowerKey, PREFIX) {
39-
headersToSign[lowerKey] = value
40+
if value != nil {
41+
headersToSign[lowerKey] = *value
42+
} else {
43+
headersToSign[lowerKey] = ""
44+
}
4045
}
4146
}
4247
}
@@ -52,7 +57,11 @@ func BuildCanonicalString(method string, resource string, params map[string]stri
5257
// 添加 params
5358
for key, value := range params {
5459
if strings.HasPrefix(key, PREFIX) {
55-
headersToSign[key] = value
60+
if value != nil {
61+
headersToSign[key] = *value
62+
} else {
63+
headersToSign[key] = ""
64+
}
5665
}
5766
}
5867

@@ -64,19 +73,24 @@ func BuildCanonicalString(method string, resource string, params map[string]stri
6473
sort.Strings(keys)
6574

6675
for _, key := range keys {
67-
builder.WriteString(key + ":" + headersToSign[key] + "\n")
76+
if strings.HasPrefix(key, PREFIX) {
77+
builder.WriteString(key + ":" + headersToSign[key])
78+
} else {
79+
builder.WriteString(headersToSign[key])
80+
}
81+
builder.WriteString("\n")
6882
}
6983

7084
// 添加资源部分
7185
builder.WriteString(buildCanonicalResource(resource, params))
72-
73-
return builder.String()
86+
res := builder.String()
87+
return &res
7488
}
7589

7690
// buildCanonicalResource 构建规范资源字符串
77-
func buildCanonicalResource(resource string, params map[string]string) string {
91+
func buildCanonicalResource(resource *string, params map[string]*string) string {
7892
var builder strings.Builder
79-
builder.WriteString(resource)
93+
builder.WriteString(*resource)
8094

8195
if params != nil && len(params) > 0 {
8296
var keys []string
@@ -91,19 +105,20 @@ func buildCanonicalResource(resource string, params map[string]string) string {
91105
builder.WriteString("&")
92106
}
93107
builder.WriteString(url.QueryEscape(key))
94-
if value, exists := params[key]; exists && value != "" {
95-
builder.WriteString("=" + url.QueryEscape(value))
108+
if value, exists := params[key]; exists && *value != "" {
109+
builder.WriteString("=" + url.QueryEscape(*value))
96110
}
97111
}
98112
}
99113
return builder.String()
100114
}
101115

102116
// GetSignature 获取签名
103-
func GetSignature(strToSign string, accessKeyId string, accessKeySecret string) (result string) {
104-
secretKey := []byte(accessKeySecret)
117+
func GetSignature(strToSign *string, accessKeyId *string, accessKeySecret *string) (result *string) {
118+
secretKey := []byte(*accessKeySecret)
105119
h := hmac.New(sha1.New, secretKey)
106-
h.Write([]byte(strToSign))
120+
h.Write([]byte(*strToSign))
107121
signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
108-
return "ODPS " + accessKeyId + ":" + signature
122+
res := "ODPS " + *accessKeyId + ":" + signature
123+
return &res
109124
}

0 commit comments

Comments
 (0)