Skip to content

Commit e110c86

Browse files
authored
Merge pull request #330 from splitio/task/headers
added spec header and proxy header
2 parents 9aad07f + 999d100 commit e110c86

4 files changed

Lines changed: 17 additions & 3 deletions

File tree

splitio/commitversion.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ This file is created automatically, please do not edit
55
*/
66

77
// CommitVersion is the version of the last commit previous to release
8-
const CommitVersion = "8fd26d7"
8+
const CommitVersion = "4f19e34"

splitio/proxy/controllers/sdk_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func TestSplitChangesImpressionsDisabled(t *testing.T) {
5353
&rbsStorage,
5454
flagsets.NewMatcher(false, nil),
5555
&largeSegmentStorageMock,
56-
specs.FLAG_V1_2,
56+
specs.FLAG_V1_3,
5757
)
5858
controller.Register(group)
5959

splitio/proxy/proxy.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"net/http"
77

8+
"github.com/splitio/split-synchronizer/v5/splitio"
89
"github.com/splitio/split-synchronizer/v5/splitio/common/impressionlistener"
910
"github.com/splitio/split-synchronizer/v5/splitio/proxy/controllers"
1011
"github.com/splitio/split-synchronizer/v5/splitio/proxy/controllers/middleware"
@@ -145,6 +146,11 @@ func New(options *Options) *API {
145146
cacheableRouter.Use(options.Cache.Handle)
146147
cacheableRouter.Use(gzip.Gzip(gzip.DefaultCompression))
147148
}
149+
cacheableRouter.Use(func(c *gin.Context) {
150+
c.Header("Harness-FME-Proxy-Version", splitio.Version)
151+
c.Header("Harness-FME-FlagSpec", options.SpecVersion)
152+
c.Next()
153+
})
148154
authController.Register(cacheableRouter)
149155
sdkController.Register(cacheableRouter)
150156
eventsController.Register(regular, beacon)

splitio/proxy/proxy_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"testing"
1010
"time"
1111

12+
"github.com/splitio/split-synchronizer/v5/splitio"
1213
ilmock "github.com/splitio/split-synchronizer/v5/splitio/common/impressionlistener/mocks"
1314
"github.com/splitio/split-synchronizer/v5/splitio/proxy/caching"
1415
"github.com/splitio/split-synchronizer/v5/splitio/proxy/storage"
@@ -79,7 +80,8 @@ func TestSplitChangesEndpoints(t *testing.T) {
7980
assert.Equal(t, "split2", changes.Splits[0].Name)
8081
assert.False(t, changes.Splits[0].ImpressionsDisabled)
8182
assert.Equal(t, "application/json; charset=utf-8", headers.Get("Content-Type"))
82-
83+
assert.Equal(t, opts.SpecVersion, headers.Get("Harness-FME-FlagSpec"))
84+
assert.Equal(t, splitio.Version, headers.Get("Harness-FME-Proxy-Version"))
8385
}
8486

8587
func TestSplitChangesWithFlagsetsCaching(t *testing.T) {
@@ -160,6 +162,8 @@ func TestSplitChangesWithFlagsetsCaching(t *testing.T) {
160162
assert.Equal(t, int64(1), changes.Till)
161163
assert.Equal(t, "split1", changes.Splits[0].Name)
162164
assert.Equal(t, "application/json; charset=utf-8", headers.Get("Content-Type"))
165+
assert.Equal(t, opts.SpecVersion, headers.Get("Harness-FME-FlagSpec"))
166+
assert.Equal(t, splitio.Version, headers.Get("Harness-FME-Proxy-Version"))
163167
}
164168

165169
func TestSegmentChangesAndMySegmentsEndpoints(t *testing.T) {
@@ -249,6 +253,8 @@ func TestSegmentChangesAndMySegmentsEndpoints(t *testing.T) {
249253
assert.Equal(t, 200, status)
250254
assert.Equal(t, []dtos.MySegmentDTO{}, segments)
251255
assert.Equal(t, "application/json; charset=utf-8", headers.Get("Content-Type"))
256+
assert.Equal(t, opts.SpecVersion, headers.Get("Harness-FME-FlagSpec"))
257+
assert.Equal(t, splitio.Version, headers.Get("Harness-FME-Proxy-Version"))
252258
}
253259

254260
func TestMembershipEndpoint(t *testing.T) {
@@ -284,6 +290,8 @@ func TestMembershipEndpoint(t *testing.T) {
284290
assert.Equal(t, 200, status)
285291
assert.Equal(t, expected, response)
286292
assert.Equal(t, "application/json; charset=utf-8", headers.Get("Content-Type"))
293+
assert.Equal(t, opts.SpecVersion, headers.Get("Harness-FME-FlagSpec"))
294+
assert.Equal(t, splitio.Version, headers.Get("Harness-FME-Proxy-Version"))
287295
}
288296

289297
func makeOpts() *Options {

0 commit comments

Comments
 (0)