MCPcopy
hub / github.com/perkeep/perkeep / stringToSign

Method stringToSign

internal/azure/storage/auth.go:78–109  ·  view source on GitHub ↗

From the Mirosoft docs: StringToSign = VERB + "\n" + Content-Encoding + "\n" Content-Language + "\n" Content-Length + "\n" Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + If-Modified-Since + "\n" If-Match + "\n" If-None-Match + "\n" If-Unmodified-Since + "\n" Range + "\n" Canon

(req *http.Request)

Source from the content-addressed store, hash-verified

76// CanonicalizedHeaders +
77// CanonicalizedResource;
78func (a *Auth) stringToSign(req *http.Request) string {
79 buf := new(bytes.Buffer)
80 buf.WriteString(req.Method)
81 buf.WriteByte('\n')
82 buf.WriteString(req.Header.Get("Content-Encoding"))
83 buf.WriteByte('\n')
84 buf.WriteString(req.Header.Get("Content-Language"))
85 buf.WriteByte('\n')
86 buf.WriteString(req.Header.Get("Content-Length"))
87 buf.WriteByte('\n')
88 buf.WriteString(req.Header.Get("Content-MD5"))
89 buf.WriteByte('\n')
90 buf.WriteString(req.Header.Get("Content-Type"))
91 buf.WriteByte('\n')
92 if req.Header.Get("x-ms-date") == "" {
93 buf.WriteString(req.Header.Get("Date"))
94 }
95 buf.WriteByte('\n')
96 buf.WriteString(req.Header.Get("If-Modified-Since"))
97 buf.WriteByte('\n')
98 buf.WriteString(req.Header.Get("If-Match"))
99 buf.WriteByte('\n')
100 buf.WriteString(req.Header.Get("If-None-Match"))
101 buf.WriteByte('\n')
102 buf.WriteString(req.Header.Get("If-Unmodified-Since"))
103 buf.WriteByte('\n')
104 buf.WriteString(req.Header.Get("Range"))
105 buf.WriteByte('\n')
106 a.writeCanonicalizedMSHeaders(buf, req)
107 a.writeCanonicalizedResource(buf, req)
108 return buf.String()
109}
110
111func hasPrefixCaseInsensitive(s, pfx string) bool {
112 if len(pfx) > len(s) {

Callers 2

SignRequestMethod · 0.95
TestStringToSignFunction · 0.95

Calls 4

GetMethod · 0.65
StringMethod · 0.45

Tested by 1

TestStringToSignFunction · 0.76