Skip to content

Commit 14c2056

Browse files
committed
1 parent db708fe commit 14c2056

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

function-aws-api-proxy-test/src/test/groovy/io/micronaut/function/aws/proxy/test/AwsApiProxyTestServerSpec.groovy

+19
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.micronaut.function.aws.proxy.test
22

3+
import io.micronaut.http.HttpHeaders
34
import io.micronaut.http.HttpRequest
45
import io.micronaut.http.HttpResponse
56
import io.micronaut.http.HttpStatus
@@ -79,6 +80,19 @@ class AwsApiProxyTestServerSpec extends Specification {
7980
response.body.get() == (1..256).collect { it as byte } as byte[]
8081
}
8182

83+
@Issue('https://github.com/micronaut-projects/micronaut-aws/issues/1861')
84+
void 'ensure multiple headers are properly received'() {
85+
when:
86+
HttpResponse<String> response = client.toBlocking()
87+
.exchange(HttpRequest.GET('/receive-multiple-headers')
88+
.header(HttpHeaders.ETAG, "A")
89+
.header(HttpHeaders.ETAG, "B"), String.class)
90+
91+
then:
92+
response.status == HttpStatus.OK
93+
response.body.get() == "2"
94+
}
95+
8296
@Controller
8397
static class TestController {
8498
@Get(value = '/test', produces = MediaType.TEXT_PLAIN)
@@ -105,5 +119,10 @@ class AwsApiProxyTestServerSpec extends Specification {
105119
HttpResponse<byte[]> byteArray() {
106120
return HttpResponse.ok((1..256).collect { it as byte } as byte[])
107121
}
122+
123+
@Get(value = '/receive-multiple-headers', processes = MediaType.TEXT_PLAIN)
124+
String receiveMultipleHeaders(HttpRequest<?> request) {
125+
return String.valueOf(request.headers.getAll(HttpHeaders.ETAG).size());
126+
}
108127
}
109128
}

function-aws-api-proxy/src/main/java/io/micronaut/function/aws/proxy/payload2/APIGatewayV2HTTPEventServletRequest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public byte[] getBodyBytes() throws IOException {
7373

7474
@Override
7575
public MutableHttpHeaders getHeaders() {
76-
return getHeaders(requestEvent::getHeaders, Collections::emptyMap);
76+
return getHeaders(Collections::emptyMap, () -> transformCommaSeparatedValue(requestEvent.getHeaders()));
7777
}
7878

7979
@Override

0 commit comments

Comments
 (0)