Skip to content

Commit 6fa3f29

Browse files
committed
#1084: remove duplicated code with populateContentAndContentType
1 parent 3a59eff commit 6fa3f29

File tree

2 files changed

+30
-12
lines changed

2 files changed

+30
-12
lines changed

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

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -122,17 +122,12 @@ private static HttpServletRequest generateRequest1(String request, Context lambd
122122
MultiValueMapAdapter headers = new MultiValueMapAdapter(v1Request.getMultiValueHeaders());
123123
httpRequest.setHeaders(headers);
124124
}
125-
if (StringUtils.hasText(v1Request.getBody())) {
126-
if (v1Request.getHeaders().get(HttpHeaders.CONTENT_TYPE)==null) {
127-
httpRequest.setContentType("application/json");
128-
}
129-
if (v1Request.isBase64Encoded()) {
130-
httpRequest.setContent(Base64.getMimeDecoder().decode(v1Request.getBody()));
131-
} else {
132-
Charset charseEncoding = parseCharacterEncoding(v1Request.getHeaders().get(HttpHeaders.CONTENT_TYPE));
133-
httpRequest.setContent(v1Request.getBody().getBytes(charseEncoding));
134-
}
135-
}
125+
populateContentAndContentType(
126+
v1Request.getBody(),
127+
v1Request.getHeaders().get(HttpHeaders.CONTENT_TYPE),
128+
v1Request.isBase64Encoded(),
129+
httpRequest
130+
);
136131
if (v1Request.getRequestContext() != null) {
137132
httpRequest.setAttribute(RequestReader.API_GATEWAY_CONTEXT_PROPERTY, v1Request.getRequestContext());
138133
httpRequest.setAttribute(RequestReader.ALB_CONTEXT_PROPERTY, v1Request.getRequestContext().getElb());
@@ -159,6 +154,12 @@ private static HttpServletRequest generateRequest2(String request, Context lambd
159154

160155
v2Request.getHeaders().forEach(httpRequest::setHeader);
161156

157+
populateContentAndContentType(
158+
v2Request.getBody(),
159+
v2Request.getHeaders().get(HttpHeaders.CONTENT_TYPE),
160+
v2Request.isBase64Encoded(),
161+
httpRequest
162+
);
162163

163164
if (StringUtils.hasText(v2Request.getBody())) {
164165
if (v2Request.getHeaders().get(HttpHeaders.CONTENT_TYPE)==null) {
@@ -197,6 +198,24 @@ private static <T> T readValue(String json, Class<T> clazz, ObjectMapper mapper)
197198
}
198199
}
199200

201+
private static void populateContentAndContentType(
202+
String body,
203+
String contentType,
204+
boolean base64Encoded,
205+
ServerlessHttpServletRequest httpRequest) {
206+
if (StringUtils.hasText(body)) {
207+
if (contentType == null) {
208+
httpRequest.setContentType("application/json");
209+
}
210+
if (base64Encoded) {
211+
httpRequest.setContent(Base64.getMimeDecoder().decode(body));
212+
} else {
213+
Charset charseEncoding = parseCharacterEncoding(contentType);
214+
httpRequest.setContent(body.getBytes(charseEncoding));
215+
}
216+
}
217+
}
218+
200219
static final String HEADER_KEY_VALUE_SEPARATOR = "=";
201220
static final String HEADER_VALUE_SEPARATOR = ";";
202221
static final String ENCODING_VALUE_KEY = "charset";

aws-serverless-java-container-springboot3/src/test/java/com/amazonaws/serverless/proxy/spring/SpringDelegatingLambdaContainerHandlerTests.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,6 @@ private byte[] generateHttpRequest2(Map requestMap, String method, String path,
345345
if (!CollectionUtils.isEmpty(headers)) {
346346
map.put("headers", headers);
347347
}
348-
System.out.println(map);
349348
return mapper.writeValueAsBytes(map);
350349
}
351350
}

0 commit comments

Comments
 (0)