Skip to content

Commit f5b0710

Browse files
committed
Update AwsSpringHttpProcessingUtils.java
Now copying single value headers to httpRequest when there are no multi-value headers present in the proxy request
1 parent f8f4d83 commit f5b0710

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtils.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,19 @@ private static HttpServletRequest generateRequest1(String request, Context lambd
124124
populateQueryStringParametersV1(v1Request, httpRequest);
125125
populateMultiValueQueryStringParametersV1(v1Request, httpRequest);
126126

127-
String contentType = null;
128-
if (v1Request.getMultiValueHeaders() != null) {
127+
final boolean hasSVH = v1Request.getHeaders() != null && !v1Request.getHeaders().isEmpty();
128+
final boolean hasMVH = v1Request.getMultiValueHeaders() != null && !v1Request.getMultiValueHeaders().isEmpty();
129+
if (hasMVH) {
129130
MultiValueMapAdapter headers = new MultiValueMapAdapter(v1Request.getMultiValueHeaders());
130131
httpRequest.setHeaders(headers);
131-
contentType = v1Request.getMultiValueHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
132+
}
133+
else if (hasSVH)
134+
{
135+
v1Request.getHeaders().forEach(httpRequest::addHeader);
132136
}
133137
populateContentAndContentType(
134138
v1Request.getBody(),
135-
contentType,
139+
httpRequest.getHeader(HttpHeaders.CONTENT_TYPE),
136140
v1Request.isBase64Encoded(),
137141
httpRequest
138142
);

0 commit comments

Comments
 (0)