Skip to content

Commit 2c8602e

Browse files
authored
feat(scw): set custom header instead of user-agent in browser (#1639)
1 parent 5848b1e commit 2c8602e

File tree

3 files changed

+64
-23
lines changed

3 files changed

+64
-23
lines changed

scw/request.go

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,6 @@ type ScalewayRequest struct {
2828
regions []Region
2929
}
3030

31-
// getAllHeaders constructs a http.Header object and aggregates all headers into the object.
32-
func (req *ScalewayRequest) getAllHeaders(token auth.Auth, userAgent string, anonymized bool) http.Header {
33-
var allHeaders http.Header
34-
if anonymized {
35-
allHeaders = token.AnonymizedHeaders()
36-
} else {
37-
allHeaders = token.Headers()
38-
}
39-
40-
allHeaders.Set("User-Agent", userAgent)
41-
if req.Body != nil {
42-
allHeaders.Set("Content-Type", "application/json")
43-
}
44-
for key, value := range req.Headers {
45-
allHeaders.Del(key)
46-
for _, v := range value {
47-
allHeaders.Add(key, v)
48-
}
49-
}
50-
51-
return allHeaders
52-
}
53-
5431
// getURL constructs a URL based on the base url and the client.
5532
func (req *ScalewayRequest) getURL(baseURL string) (*url.URL, error) {
5633
url, err := url.Parse(baseURL + req.Path)

scw/request_header.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
//go:build !wasm || !js
2+
3+
package scw
4+
5+
import (
6+
"net/http"
7+
8+
"github.com/scaleway/scaleway-sdk-go/internal/auth"
9+
)
10+
11+
// getAllHeaders constructs a http.Header object and aggregates all headers into the object.
12+
func (req *ScalewayRequest) getAllHeaders(token auth.Auth, userAgent string, anonymized bool) http.Header {
13+
var allHeaders http.Header
14+
if anonymized {
15+
allHeaders = token.AnonymizedHeaders()
16+
} else {
17+
allHeaders = token.Headers()
18+
}
19+
20+
allHeaders.Set("User-Agent", userAgent)
21+
if req.Body != nil {
22+
allHeaders.Set("Content-Type", "application/json")
23+
}
24+
for key, value := range req.Headers {
25+
allHeaders.Del(key)
26+
for _, v := range value {
27+
allHeaders.Add(key, v)
28+
}
29+
}
30+
31+
return allHeaders
32+
}

scw/request_header_wasm.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
//go:build wasm && js
2+
3+
package scw
4+
5+
import (
6+
"net/http"
7+
8+
"github.com/scaleway/scaleway-sdk-go/internal/auth"
9+
)
10+
11+
// getAllHeaders constructs a http.Header object and aggregates all headers into the object.
12+
func (req *ScalewayRequest) getAllHeaders(token auth.Auth, userAgent string, anonymized bool) http.Header {
13+
var allHeaders http.Header
14+
if anonymized {
15+
allHeaders = token.AnonymizedHeaders()
16+
} else {
17+
allHeaders = token.Headers()
18+
}
19+
20+
allHeaders.Set("X-User-Agent", userAgent)
21+
if req.Body != nil {
22+
allHeaders.Set("Content-Type", "application/json")
23+
}
24+
for key, value := range req.Headers {
25+
allHeaders.Del(key)
26+
for _, v := range value {
27+
allHeaders.Add(key, v)
28+
}
29+
}
30+
31+
return allHeaders
32+
}

0 commit comments

Comments
 (0)