feat: support customized header to metadata processor (#2162)

* chore: add more tests

* feat: support customized header processor
This commit is contained in:
Kevin Wan
2022-07-17 23:21:19 +08:00
committed by GitHub
parent 0dd2768d09
commit 8d567b5508
4 changed files with 87 additions and 14 deletions

File diff suppressed because one or more lines are too long

View File

@@ -11,8 +11,8 @@ const (
metadataPrefix = "gateway-"
)
// BuildHeaders builds the headers for the gateway from HTTP headers.
func BuildHeaders(header http.Header) []string {
// ProcessHeaders builds the headers for the gateway from HTTP headers.
func ProcessHeaders(header http.Header) []string {
var headers []string
for k, v := range header {

View File

@@ -10,12 +10,12 @@ import (
func TestBuildHeadersNoValue(t *testing.T) {
req := httptest.NewRequest("GET", "/", nil)
req.Header.Add("a", "b")
assert.Nil(t, BuildHeaders(req.Header))
assert.Nil(t, ProcessHeaders(req.Header))
}
func TestBuildHeadersWithValues(t *testing.T) {
req := httptest.NewRequest("GET", "/", nil)
req.Header.Add("grpc-metadata-a", "b")
req.Header.Add("grpc-metadata-b", "b")
assert.EqualValues(t, []string{"gateway-A:b", "gateway-B:b"}, BuildHeaders(req.Header))
assert.ElementsMatch(t, []string{"gateway-A:b", "gateway-B:b"}, ProcessHeaders(req.Header))
}