File tree Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Expand file tree Collapse file tree 2 files changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,7 @@ import (
2929
3030 "github.com/G-Research/geras/pkg/store"
3131 "github.com/G-Research/geras/pkg/tracing"
32+ "github.com/G-Research/geras/pkg/useragent"
3233 "github.com/G-Research/opentsdb-goclient/config"
3334
3435 _ "net/http/pprof"
@@ -174,12 +175,15 @@ func main() {
174175 os .Exit (1 )
175176 }
176177
178+ // Set user agent header
179+ var transport http.RoundTripper = opentsdb .DefaultTransport
180+ transport = useragent .NewUserAgentTransport (transport , "geras/" + version .Version )
181+
177182 // initialize distributed tracing
178183 flush := initTracer ()
179184 defer flush ()
180185
181186 // initialize tracing
182- var transport http.RoundTripper = opentsdb .DefaultTransport
183187 if * traceEnabled {
184188 transport = TracedTransport {
185189 originalTransport : transport ,
Original file line number Diff line number Diff line change 1+ package useragent
2+
3+ import (
4+ "net/http"
5+ )
6+
7+ type UserAgentTransport struct {
8+ base http.RoundTripper
9+ customUA string
10+ }
11+
12+ func NewUserAgentTransport (base http.RoundTripper , customUA string ) * UserAgentTransport {
13+ return & UserAgentTransport {
14+ base : base ,
15+ customUA : customUA ,
16+ }
17+ }
18+
19+ func (t * UserAgentTransport ) RoundTrip (req * http.Request ) (* http.Response , error ) {
20+ defaultUA := req .Header .Get ("User-Agent" )
21+ if defaultUA != "" {
22+ req .Header .Set ("User-Agent" , defaultUA + " " + t .customUA )
23+ } else {
24+ req .Header .Set ("User-Agent" , t .customUA )
25+ }
26+ return t .base .RoundTrip (req )
27+ }
You can’t perform that action at this time.
0 commit comments