aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/cloud.google.com/go/storage/reader.go
diff options
context:
space:
mode:
authordependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-07-25 01:12:41 +0000
committerTaras Madan <tarasmadan@google.com>2023-07-25 07:38:54 +0000
commit3b91ad04a07cfd9812e6d3e63e6a2ffd2cefbe56 (patch)
tree081abb45cfc55181650633ca46fb1add9b08b32f /vendor/cloud.google.com/go/storage/reader.go
parent9a0ddda39bb49c43597a2ffe609ce85c95decd24 (diff)
mod: do: bump cloud.google.com/go/storage from 1.29.0 to 1.30.1
Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.29.0 to 1.30.1. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/pubsub/v1.29.0...pubsub/v1.30.1) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Diffstat (limited to 'vendor/cloud.google.com/go/storage/reader.go')
-rw-r--r--vendor/cloud.google.com/go/storage/reader.go16
1 files changed, 12 insertions, 4 deletions
diff --git a/vendor/cloud.google.com/go/storage/reader.go b/vendor/cloud.google.com/go/storage/reader.go
index 46487d2b7..1bb65ec81 100644
--- a/vendor/cloud.google.com/go/storage/reader.go
+++ b/vendor/cloud.google.com/go/storage/reader.go
@@ -139,15 +139,23 @@ func uncompressedByServer(res *http.Response) bool {
res.Header.Get("Content-Encoding") != "gzip"
}
+// parseCRC32c parses the crc32c hash from the X-Goog-Hash header.
+// It can parse headers in the form [crc32c=xxx md5=xxx] (XML responses) or the
+// form [crc32c=xxx,md5=xxx] (JSON responses). The md5 hash is ignored.
func parseCRC32c(res *http.Response) (uint32, bool) {
const prefix = "crc32c="
for _, spec := range res.Header["X-Goog-Hash"] {
- if strings.HasPrefix(spec, prefix) {
- c, err := decodeUint32(spec[len(prefix):])
- if err == nil {
- return c, true
+ values := strings.Split(spec, ",")
+
+ for _, v := range values {
+ if strings.HasPrefix(v, prefix) {
+ c, err := decodeUint32(v[len(prefix):])
+ if err == nil {
+ return c, true
+ }
}
}
+
}
return 0, false
}