Skip to content

Commit c680be8

Browse files
committed
Fix parse headers
1 parent c52a9c7 commit c680be8

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

aws/alb_target_group.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ func NewALBTargetGroupRequest(ctx context.Context, e *events.ALBTargetGroupReque
3131

3232
if e.MultiValueHeaders != nil {
3333
multiValue = true
34-
header = e.MultiValueHeaders
34+
for key, values := range e.MultiValueHeaders {
35+
for _, value := range values {
36+
header.Add(key, value)
37+
}
38+
}
3539
} else if e.Headers != nil {
3640
for k, v := range e.Headers {
3741
header.Set(k, v)

aws/api_gateway_rest.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ func NewRESTAPIRequest(ctx context.Context, e *events.APIGatewayProxyRequest) (r
2727
var (
2828
body *bytes.Buffer
2929
header = make(http.Header)
30-
query = make(url.Values)
3130
)
3231

3332
if e.MultiValueHeaders != nil {
@@ -53,15 +52,11 @@ func NewRESTAPIRequest(ctx context.Context, e *events.APIGatewayProxyRequest) (r
5352
u.Host = header.Get(types.HTTPHeaderHost)
5453

5554
if e.MultiValueQueryStringParameters != nil {
56-
query = e.MultiValueQueryStringParameters
55+
u.RawQuery = utils.JoinMultiValueQueryParameters(e.MultiValueQueryStringParameters)
5756
} else if e.QueryStringParameters != nil {
58-
for k, v := range e.QueryStringParameters {
59-
query.Set(k, v)
60-
}
57+
u.RawQuery = utils.JoinQueryParameters(e.QueryStringParameters)
6158
}
6259

63-
u.RawQuery = query.Encode()
64-
6560
// build body reader
6661
if e.IsBase64Encoded {
6762
b, err := base64.StdEncoding.DecodeString(e.Body)

aws/api_gateway_websocket.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ func NewWebsocketRequest(ctx context.Context, e *events.APIGatewayWebsocketProxy
4444

4545
if e.MultiValueHeaders != nil {
4646
multiValue = true
47-
header = e.MultiValueHeaders
47+
for key, values := range e.MultiValueHeaders {
48+
for _, value := range values {
49+
header.Add(key, value)
50+
}
51+
}
4852
} else if e.Headers != nil {
4953
for k, v := range e.Headers {
5054
header.Set(k, v)
@@ -64,11 +68,9 @@ func NewWebsocketRequest(ctx context.Context, e *events.APIGatewayWebsocketProxy
6468
}
6569

6670
if e.MultiValueQueryStringParameters != nil {
67-
query = e.MultiValueQueryStringParameters
71+
u.RawQuery = utils.JoinMultiValueQueryParameters(e.MultiValueQueryStringParameters)
6872
} else if e.QueryStringParameters != nil {
69-
for k, v := range e.QueryStringParameters {
70-
query.Set(k, v)
71-
}
73+
u.RawQuery = utils.JoinQueryParameters(e.QueryStringParameters)
7274
}
7375

7476
if 0 < len(query) {

0 commit comments

Comments
 (0)