Skip to content

Commit f74c2c3

Browse files
committed
Review fixes
Signed-off-by: Olivier Laviale <olivier.laviale@gmail.com>
1 parent f6e664e commit f74c2c3

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

providers/go-feature-flag/pkg/controller/goff_api.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,10 @@ func (g *GoFeatureFlagAPI) CollectData(events []model.FeatureEvent) error {
6161
}
6262

6363
req.Header.Set(ContentTypeHeader, ApplicationJson)
64+
applyHeaders(g.options.CustomHeaders, req)
6465
if g.options.APIKey != "" {
6566
req.Header.Set(AuthorizationHeader, BearerPrefix+g.options.APIKey)
6667
}
67-
for k, v := range g.options.CustomHeaders {
68-
req.Header.Set(k, v)
69-
}
7068

7169
response, err := g.getHttpClient().Do(req)
7270
if err != nil {
@@ -90,12 +88,10 @@ func (g *GoFeatureFlagAPI) ConfigurationHasChanged() (ConfigurationChangeStatus,
9088
return ErrorConfigurationChange, err
9189
}
9290
req.Header.Set(ContentTypeHeader, ApplicationJson)
91+
applyHeaders(g.options.CustomHeaders, req)
9392
if g.options.APIKey != "" {
9493
req.Header.Set(AuthorizationHeader, BearerPrefix+g.options.APIKey)
9594
}
96-
for k, v := range g.options.CustomHeaders {
97-
req.Header.Set(k, v)
98-
}
9995
if g.configChangeEtag != "" {
10096
req.Header.Set(IfNoneMatchHeader, g.configChangeEtag)
10197
}
@@ -129,3 +125,10 @@ func (g *GoFeatureFlagAPI) getHttpClient() *http.Client {
129125
}
130126
return client
131127
}
128+
129+
// applyHeaders to a request.
130+
func applyHeaders(headers map[string]string, req *http.Request) {
131+
for k, v := range headers {
132+
req.Header.Set(k, v)
133+
}
134+
}

providers/go-feature-flag/pkg/controller/goff_api_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@ package controller_test
33
import (
44
"bytes"
55
"errors"
6+
"io"
7+
"net/http"
8+
"testing"
9+
610
"github.com/open-feature/go-sdk-contrib/providers/go-feature-flag/pkg/controller"
711
"github.com/open-feature/go-sdk-contrib/providers/go-feature-flag/pkg/model"
812
"github.com/stretchr/testify/assert"
913
"github.com/stretchr/testify/require"
10-
"io"
11-
"net/http"
12-
"testing"
1314
)
1415

1516
func Test_CollectDataAPI(t *testing.T) {
@@ -79,7 +80,7 @@ func Test_CollectDataAPI(t *testing.T) {
7980
options: controller.GoFeatureFlagApiOptions{
8081
Endpoint: "http://localhost:1031",
8182
APIKey: "my-key",
82-
CustomHeaders: map[string]string{"User-Agent": "goff-sdk-tests"},
83+
CustomHeaders: map[string]string{"Authorization": "foo", "User-Agent": "goff-sdk-tests"},
8384
ExporterMetadata: map[string]any{"openfeature": true, "provider": "go"},
8485
},
8586
events: []model.FeatureEvent{

providers/go-feature-flag/pkg/provider.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,8 @@ func NewProviderWithContext(ctx context.Context, options ProviderOptions) (*Prov
5252
return controller.ContentTypeHeader, controller.ApplicationJson
5353
}))
5454
for k, v := range options.CustomHeaders {
55-
scopedK, scopedV := k, v
56-
ofrepOptions = append(ofrepOptions, ofrep.WithHeaderProvider(func() (key string, value string) {
57-
return scopedK, scopedV
55+
ofrepOptions = append(ofrepOptions, ofrep.WithHeaderProvider(func() (string, string) {
56+
return k, v
5857
}))
5958
}
6059
ofrepProvider := ofrep.NewProvider(options.Endpoint, ofrepOptions...)

0 commit comments

Comments
 (0)