Skip to content

Commit ae12fff

Browse files
authored
SNOW-1569290 Make Azure headers case insensitive (#1238)
1 parent 4f3ec9c commit ae12fff

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

azure_storage_client.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -105,17 +105,17 @@ func (util *snowflakeAzureClient) getFileHeader(meta *fileMetadata, filename str
105105
}
106106

107107
meta.resStatus = uploaded
108-
metadata := resp.Metadata
108+
metadata := withLowerKeys(resp.Metadata)
109109
var encData encryptionData
110110

111-
_, ok = metadata["Encryptiondata"]
111+
_, ok = metadata["encryptiondata"]
112112
if ok {
113-
if err = json.Unmarshal([]byte(*metadata["Encryptiondata"]), &encData); err != nil {
113+
if err = json.Unmarshal([]byte(*metadata["encryptiondata"]), &encData); err != nil {
114114
return nil, err
115115
}
116116
}
117117

118-
matdesc, ok := metadata["Matdesc"]
118+
matdesc, ok := metadata["matdesc"]
119119
if !ok {
120120
// matdesc is not in response, use empty string
121121
matdesc = new(string)
@@ -126,7 +126,7 @@ func (util *snowflakeAzureClient) getFileHeader(meta *fileMetadata, filename str
126126
*matdesc,
127127
}
128128

129-
digest, ok := metadata["Sfcdigest"]
129+
digest, ok := metadata["sfcdigest"]
130130
if !ok {
131131
// sfcdigest is not in response, use empty string
132132
digest = new(string)

util.go

+8
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,11 @@ func contains[T comparable](s []T, e T) bool {
331331
func chooseRandomFromRange(min float64, max float64) float64 {
332332
return rand.Float64()*(max-min) + min
333333
}
334+
335+
func withLowerKeys[T any](in map[string]T) map[string]T {
336+
out := make(map[string]T)
337+
for k, v := range in {
338+
out[strings.ToLower(k)] = v
339+
}
340+
return out
341+
}

util_test.go

+9
Original file line numberDiff line numberDiff line change
@@ -400,3 +400,12 @@ func randomString(n int) string {
400400
}
401401
return string(b)
402402
}
403+
404+
func TestWithLowerKeys(t *testing.T) {
405+
m := make(map[string]string)
406+
m["abc"] = "def"
407+
m["GHI"] = "KLM"
408+
lowerM := withLowerKeys(m)
409+
assertEqualE(t, lowerM["abc"], "def")
410+
assertEqualE(t, lowerM["ghi"], "KLM")
411+
}

0 commit comments

Comments
 (0)