Skip to content

Commit

Permalink
🐛 Fixed duplicate headers
Browse files Browse the repository at this point in the history
  • Loading branch information
egorgasay committed Jun 30, 2023
1 parent b717cdc commit 81e06ed
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions internal/proxy/directors.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ type DirectorSetHeadersByIP struct {
}

func NewDirectorSetHeadersByIP(m map[string]HTTPHeaders) (DirectorSetHeadersByIP, error) {
allHeaders := make([]string, 0, 100)
allHeadersSet := make(map[string]struct{}, 100)

ranger := cidranger.NewPCTrieRanger[HTTPHeaders]()
for k, v := range m {
Expand All @@ -212,9 +212,16 @@ func NewDirectorSetHeadersByIP(m map[string]HTTPHeaders) (DirectorSetHeadersByIP
}

for _, header := range v {
allHeaders = append(allHeaders, http.CanonicalHeaderKey(header.Name))
allHeadersSet[http.CanonicalHeaderKey(header.Name)] = struct{}{}
}
}

allHeaders := make([]string, 0, 100)

for k := range allHeadersSet {
allHeaders = append(allHeaders, k)
}

return DirectorSetHeadersByIP{Ranger: ranger, allHeaders: allHeaders}, nil
}

Expand Down

0 comments on commit 81e06ed

Please sign in to comment.