Skip to content

Commit

Permalink
feat: support merge header for context
Browse files Browse the repository at this point in the history
  • Loading branch information
vicanso committed Oct 4, 2020
1 parent 2a37127 commit 4da5083
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
9 changes: 9 additions & 0 deletions context.go
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,15 @@ func (c *Context) AddHeader(key, value string) {
c.Header().Add(key, value)
}

// MergeHeader merge http header to response
func (c *Context) MergeHeader(h http.Header) {
for key, values := range h {
for _, value := range values {
c.AddHeader(key, value)
}
}
}

// ResetHeader reset response header
func (c *Context) ResetHeader() {
h := c.Header()
Expand Down
11 changes: 11 additions & 0 deletions context_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,17 @@ func TestNoContent(t *testing.T) {
assert.Empty(c.GetHeader(HeaderTransferEncoding))
}

func TestMergeHeader(t *testing.T) {
assert := assert.New(t)
resp := httptest.NewRecorder()
c := NewContext(resp, nil)
h := make(http.Header)
h.Add("a", "1")
h.Add("a", "2")
c.MergeHeader(h)
assert.Equal(h, c.Header())
}

func TestNotModified(t *testing.T) {
assert := assert.New(t)
resp := httptest.NewRecorder()
Expand Down

0 comments on commit 4da5083

Please sign in to comment.