From b9f486ef2ff4a6c5ca3629c7e0abfed05e44629e Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 21:17:27 -0500 Subject: [PATCH 1/7] Add a bit of test coverage, and a toString for logging --- .../proxy/internal/model/AwsProxyRequest.java | 16 ++++++++++++++ .../testutils/AwsProxyRequestBuilder.java | 3 +++ .../proxy/spring/SpringAwsProxyTest.java | 22 +++++++++++++++++++ .../proxy/spring/echoapp/EchoResource.java | 16 ++++++++++++++ 4 files changed, 57 insertions(+) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java index 6e9cda4c0..2582f1561 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java @@ -155,4 +155,20 @@ public boolean isBase64Encoded() { public void setBase64Encoded(boolean base64Encoded) { isBase64Encoded = base64Encoded; } + + @Override + public String toString() { + return "AwsProxyRequest{" + + "body='" + body + '\'' + + ", resource='" + resource + '\'' + + ", requestContext=" + requestContext + + ", queryStringParameters=" + queryStringParameters + + ", headers=" + headers + + ", pathParameters=" + pathParameters + + ", httpMethod='" + httpMethod + '\'' + + ", stageVariables=" + stageVariables + + ", path='" + path + '\'' + + ", isBase64Encoded=" + isBase64Encoded + + '}'; + } } diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java index 31dd0f494..a554ce763 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java @@ -68,6 +68,9 @@ public AwsProxyRequestBuilder method(String httpMethod) { return this; } +// public AwsProxyRequestBuilder schemeAndHost(String scheme) { +// this.request.getRequestContext(). +// } public AwsProxyRequestBuilder path(String path) { this.request.setPath(path); diff --git a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java index 56b523b21..a32aa0ecb 100644 --- a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java +++ b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java @@ -187,6 +187,28 @@ public void servletRequestEncoding_acceptEncoding_okStatusCode() { assertEquals(200, output.getStatusCode()); } + @Test + public void request_requestURI() { + AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/request-URI", "GET") + .build(); + + AwsProxyResponse output = handler.proxy(request, lambdaContext); + assertEquals(200, output.getStatusCode()); + + validateSingleValueModel(output, "/echo/request-URI"); + } + + @Test + public void request_requestURL() { + AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/request-URL", "GET") + .build(); + + AwsProxyResponse output = handler.proxy(request, lambdaContext); + assertEquals(200, output.getStatusCode()); + +// validateSingleValueModel(output, "/echo/request-URI"); + } + private void validateMapResponseModel(AwsProxyResponse output) { try { MapResponseModel response = objectMapper.readValue(output.getBody(), MapResponseModel.class); diff --git a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java index 27e18e0c4..190bc7b41 100644 --- a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java +++ b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java @@ -83,4 +83,20 @@ public ResponseEntity echoBinaryData() { return new ResponseEntity(b, HttpStatus.OK); } + + @RequestMapping(path = "/request-URI", method = RequestMethod.GET) + public SingleValueModel echoRequestURI(HttpServletRequest request) { + SingleValueModel valueModel = new SingleValueModel(); + valueModel.setValue(request.getRequestURI()); + + return valueModel; + } + + @RequestMapping(path = "/request-URL", method = RequestMethod.GET) + public SingleValueModel echoRequestURL(HttpServletRequest request) { + SingleValueModel valueModel = new SingleValueModel(); + valueModel.setValue(request.getRequestURL().toString()); + + return valueModel; + } } From 82726d9e676084ed95a422c9af9b7953d7832140 Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 21:20:05 -0500 Subject: [PATCH 2/7] Add a bit of test coverage, and a toString for logging --- .../proxy/internal/model/AwsProxyRequest.java | 8 ++-- .../servlet/AwsProxyHttpServletRequest.java | 28 ++++++----- .../AwsProxyHttpServletRequestTest.java | 46 +++++++++++++++++++ .../LambdaSpringApplicationInitializer.java | 2 +- 4 files changed, 67 insertions(+), 17 deletions(-) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java index df9758503..6e9cda4c0 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/AwsProxyRequest.java @@ -43,17 +43,17 @@ public class AwsProxyRequest { @JsonIgnore public String getQueryString() { - String params = ""; + StringBuilder params = new StringBuilder(""); if (this.getQueryStringParameters() != null && this.getQueryStringParameters().size() > 0) { for (String key : this.getQueryStringParameters().keySet()) { - String separator = params.equals("") ? "?" : "&"; + String separator = params.length() == 0 ? "?" : "&"; - params += separator + key + "=" + this.getQueryStringParameters().get(key); + params.append(separator + key + "=" + this.getQueryStringParameters().get(key)); } } - return params; + return params.toString(); } diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java index cc3ef769b..4cbc79dc7 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java @@ -420,17 +420,17 @@ public void setCharacterEncoding(String s) throws UnsupportedEncodingException { if (currentContentType.contains(HEADER_VALUE_SEPARATOR)) { String[] contentTypeValues = currentContentType.split(HEADER_VALUE_SEPARATOR); - String contentType = contentTypeValues[0]; + StringBuilder contentType = new StringBuilder(contentTypeValues[0]); for (String contentTypeValue : contentTypeValues) { if (contentTypeValue.trim().startsWith(ENCODING_VALUE_KEY)) { - contentType += HEADER_VALUE_SEPARATOR + " " + ENCODING_VALUE_KEY + HEADER_KEY_VALUE_SEPARATOR + s; + contentType.append(HEADER_VALUE_SEPARATOR + " " + ENCODING_VALUE_KEY + HEADER_KEY_VALUE_SEPARATOR + s); } else { - contentType += HEADER_VALUE_SEPARATOR + " " + contentTypeValue; + contentType.append(HEADER_VALUE_SEPARATOR + " " + contentTypeValue); } } - request.getHeaders().put(HttpHeaders.CONTENT_TYPE, contentType); + request.getHeaders().put(HttpHeaders.CONTENT_TYPE, contentType.toString()); } else { request.getHeaders().put( HttpHeaders.CONTENT_TYPE, @@ -529,7 +529,9 @@ public String getParameter(String s) { @Override public Enumeration getParameterNames() { List paramNames = new ArrayList<>(); - paramNames.addAll(request.getQueryStringParameters().keySet()); + if (request.getQueryStringParameters() != null) { + paramNames.addAll(request.getQueryStringParameters().keySet()); + } paramNames.addAll(urlEncodedFormParameters.keySet()); return Collections.enumeration(paramNames); } @@ -567,13 +569,15 @@ public Map getParameterMap() { params = new HashMap<>(); } - for (Map.Entry entry : request.getQueryStringParameters().entrySet()) { - if (params.containsKey(entry.getKey())) { - params.get(entry.getKey()).add(entry.getValue()); - } else { - List valueList = new ArrayList<>(); - valueList.add(entry.getValue()); - params.put(entry.getKey(), valueList); + if (request.getQueryStringParameters() != null) { + for (Map.Entry entry : request.getQueryStringParameters().entrySet()) { + if (params.containsKey(entry.getKey())) { + params.get(entry.getKey()).add(entry.getValue()); + } else { + List valueList = new ArrayList<>(); + valueList.add(entry.getValue()); + params.put(entry.getKey(), valueList); + } } } diff --git a/aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequestTest.java b/aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequestTest.java index 9295cb91a..d9ddc313b 100644 --- a/aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequestTest.java +++ b/aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequestTest.java @@ -8,6 +8,10 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; + import static org.junit.Assert.*; public class AwsProxyHttpServletRequestTest { @@ -39,6 +43,16 @@ public class AwsProxyHttpServletRequestTest { private static final AwsProxyRequest REQUEST_MALFORMED_COOKIE = new AwsProxyRequestBuilder("/hello", "GET") .header(HttpHeaders.COOKIE, QUERY_STRING_NAME_VALUE).build(); + private static final AwsProxyRequest REQUEST_NULL_QUERY_STRING; + static { + AwsProxyRequest awsProxyRequest = new AwsProxyRequestBuilder("/hello", "GET").build(); + awsProxyRequest.setQueryStringParameters(null); + REQUEST_NULL_QUERY_STRING = awsProxyRequest; + } + + private static final AwsProxyRequest REQUEST_QUERY = new AwsProxyRequestBuilder("/hello", "POST") + .queryString(FORM_PARAM_NAME, QUERY_STRING_NAME_VALUE).build(); + @Test public void headers_getHeader_validRequest() { @@ -131,4 +145,36 @@ public void cookie_getCookies_emptyCookies() { assertNotNull(request.getCookies()); assertEquals(0, request.getCookies().length); } + + @Test + public void queryParameters_getParameterMap_null() { + HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_NULL_QUERY_STRING, null, null); + assertNotNull(request); + assertEquals(0, request.getParameterMap().size()); + } + + @Test + public void queryParameters_getParameterMap_nonNull() { + HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_QUERY, null, null); + assertNotNull(request); + assertEquals(1, request.getParameterMap().size()); + assertEquals(QUERY_STRING_NAME_VALUE, request.getParameterMap().get(FORM_PARAM_NAME)[0]); + } + + @Test + public void queryParameters_getParameterNames_null() { + HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_NULL_QUERY_STRING, null, null); + List parameterNames = Collections.list(request.getParameterNames()); + assertNotNull(request); + assertEquals(0, parameterNames.size()); + } + + @Test + public void queryParameters_getParameterNames_nonNull() { + HttpServletRequest request = new AwsProxyHttpServletRequest(REQUEST_QUERY, null, null); + List parameterNames = Collections.list(request.getParameterNames()); + assertNotNull(request); + assertEquals(1, parameterNames.size()); + assertTrue(parameterNames.contains(FORM_PARAM_NAME)); + } } diff --git a/aws-serverless-java-container-spring/src/main/java/com/amazonaws/serverless/proxy/spring/LambdaSpringApplicationInitializer.java b/aws-serverless-java-container-spring/src/main/java/com/amazonaws/serverless/proxy/spring/LambdaSpringApplicationInitializer.java index 82b82c294..50810dea4 100644 --- a/aws-serverless-java-container-spring/src/main/java/com/amazonaws/serverless/proxy/spring/LambdaSpringApplicationInitializer.java +++ b/aws-serverless-java-container-spring/src/main/java/com/amazonaws/serverless/proxy/spring/LambdaSpringApplicationInitializer.java @@ -130,7 +130,7 @@ private void notifyStartListeners(ServletContext context) { * Default configuration class for the DispatcherServlet. This just mocks the behaviour of a default * ServletConfig object with no init parameters */ - private class DefaultDispatcherConfig implements ServletConfig { + private static class DefaultDispatcherConfig implements ServletConfig { private ServletContext servletContext; DefaultDispatcherConfig(ServletContext context) { From ad1107b5bec3981f8e5419333182885b07cf2f20 Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 21:30:43 -0500 Subject: [PATCH 3/7] toString for logging --- .../internal/model/ApiGatewayRequestContext.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java index 406fbad0b..549551cca 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java @@ -129,4 +129,19 @@ public ApiGatewayAuthorizerContext getAuthorizer() { public void setAuthorizer(ApiGatewayAuthorizerContext authorizer) { this.authorizer = authorizer; } + + @Override + public String toString() { + return "ApiGatewayRequestContext{" + + "resourceId='" + resourceId + '\'' + + ", apiId='" + apiId + '\'' + + ", resourcePath='" + resourcePath + '\'' + + ", httpMethod='" + httpMethod + '\'' + + ", requestId='" + requestId + '\'' + + ", accountId='" + accountId + '\'' + + ", identity=" + identity + + ", authorizer=" + authorizer + + ", stage='" + stage + '\'' + + '}'; + } } From a8aaa5569d5dbb2588752e5d9d1e14b13fad90ce Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 23:00:21 -0500 Subject: [PATCH 4/7] getRequestURL should work now --- .../servlet/AwsProxyHttpServletRequest.java | 9 +++++-- .../testutils/AwsProxyRequestBuilder.java | 22 ++++++++++++++++ .../proxy/spring/SpringAwsProxyTest.java | 25 +++++++++++++++++++ .../proxy/spring/echoapp/EchoResource.java | 16 ++++++++++++ 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java index 4cbc79dc7..a792d4794 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java @@ -224,7 +224,7 @@ public String getPathTranslated() { @Override public String getContextPath() { - return "/"; + return request.getRequestContext().getStage(); } @@ -270,8 +270,13 @@ public StringBuffer getRequestURL() { String url = ""; url += getHeaderCaseInsensitive(HttpHeaders.HOST); url += "/"; + url += getContextPath(); + url += "/"; url += request.getPath(); - return new StringBuffer(url); + + url = url.replaceAll("/+", "/"); + + return new StringBuffer(getScheme() + "://" + url); } diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java index 31dd0f494..8590e8a95 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java @@ -168,6 +168,28 @@ public AwsProxyRequestBuilder cookie(String name, String value) { return this; } + public AwsProxyRequestBuilder scheme(String scheme) { + if (request.getHeaders() == null) { + request.setHeaders(new HashMap<>()); + } + + request.getHeaders().put("CloudFront-Forwarded-Proto", scheme); + return this; + } + + public AwsProxyRequestBuilder serverName(String serverName) { + if (request.getHeaders() == null) { + request.setHeaders(new HashMap<>()); + } + + request.getHeaders().put("Host", serverName); + return this; + } + + public AwsProxyRequestBuilder stage(String stage) { + this.request.getRequestContext().setStage(stage); + return this; + } public AwsProxyRequest build() { return this.request; diff --git a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java index 56b523b21..8287fdc3d 100644 --- a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java +++ b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/SpringAwsProxyTest.java @@ -187,6 +187,31 @@ public void servletRequestEncoding_acceptEncoding_okStatusCode() { assertEquals(200, output.getStatusCode()); } + @Test + public void request_requestURI() { + AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/request-URI", "GET") + .build(); + + AwsProxyResponse output = handler.proxy(request, lambdaContext); + assertEquals(200, output.getStatusCode()); + + validateSingleValueModel(output, "/echo/request-URI"); + } + + @Test + public void request_requestURL() { + AwsProxyRequest request = new AwsProxyRequestBuilder("/echo/request-Url", "GET") + .scheme("https") + .serverName("api.myserver.com") + .stage("prod") + .build(); + + AwsProxyResponse output = handler.proxy(request, lambdaContext); + assertEquals(200, output.getStatusCode()); + + validateSingleValueModel(output, "https://api.myserver.com/prod/echo/request-Url"); + } + private void validateMapResponseModel(AwsProxyResponse output) { try { MapResponseModel response = objectMapper.readValue(output.getBody(), MapResponseModel.class); diff --git a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java index 27e18e0c4..e0f57464e 100644 --- a/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java +++ b/aws-serverless-java-container-spring/src/test/java/com/amazonaws/serverless/proxy/spring/echoapp/EchoResource.java @@ -83,4 +83,20 @@ public ResponseEntity echoBinaryData() { return new ResponseEntity(b, HttpStatus.OK); } + + @RequestMapping(path = "/request-URI", method = RequestMethod.GET) + public SingleValueModel echoRequestURI(HttpServletRequest request) { + SingleValueModel valueModel = new SingleValueModel(); + valueModel.setValue(request.getRequestURI()); + + return valueModel; + } + + @RequestMapping(path = "/request-Url", method = RequestMethod.GET) + public SingleValueModel echoRequestURL(HttpServletRequest request) { + SingleValueModel valueModel = new SingleValueModel(); + valueModel.setValue(request.getRequestURL().toString()); + + return valueModel; + } } From 9b189fd8e392349ffe495ae1590040414b9e0f35 Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 23:25:29 -0500 Subject: [PATCH 5/7] Clean up getServerName() and getServerPort() --- .../servlet/AwsProxyHttpServletRequest.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java index a792d4794..b7574dcc3 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletRequest.java @@ -268,7 +268,7 @@ public String getRequestURI() { @Override public StringBuffer getRequestURL() { String url = ""; - url += getHeaderCaseInsensitive(HttpHeaders.HOST); + url += getServerName(); url += "/"; url += getContextPath(); url += "/"; @@ -613,13 +613,18 @@ public String getScheme() { @Override public String getServerName() { - return "lambda.amazonaws.com"; + String name = getHeaderCaseInsensitive(HttpHeaders.HOST); + + if (name == null || name.length() == 0) { + name = "lambda.amazonaws.com"; + } + return name; } @Override public int getServerPort() { - return 0; + return getLocalPort(); } @@ -725,7 +730,14 @@ public String getLocalAddr() { @Override public int getLocalPort() { - return 0; + int port = 0; + + if ("https".equals(getScheme())) { + port = 443; + } else if ("http".equals(getScheme())) { + port = 80; + } + return port; } From aab5a5b6ab14283a60d55722a1ee4dffd9592997 Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 23:49:47 -0500 Subject: [PATCH 6/7] Set default stage to 'test' in request builder --- .../proxy/internal/testutils/AwsProxyRequestBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java index 8590e8a95..9ea54ff7c 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/testutils/AwsProxyRequestBuilder.java @@ -53,6 +53,7 @@ public AwsProxyRequestBuilder(String path, String httpMethod) { this.request.setPath(path); this.request.setQueryStringParameters(new HashMap<>()); this.request.setRequestContext(new ApiGatewayRequestContext()); + this.request.getRequestContext().setStage("test"); ApiGatewayRequestIdentity identity = new ApiGatewayRequestIdentity(); identity.setSourceIp("127.0.0.1"); this.request.getRequestContext().setIdentity(identity); From 510f05bb4807c76d938e2700989f918aaaace957 Mon Sep 17 00:00:00 2001 From: Matt Corey Date: Sat, 18 Feb 2017 23:51:19 -0500 Subject: [PATCH 7/7] Clean up logger --- .../internal/model/ApiGatewayRequestContext.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java index 549551cca..406fbad0b 100644 --- a/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java +++ b/aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/model/ApiGatewayRequestContext.java @@ -129,19 +129,4 @@ public ApiGatewayAuthorizerContext getAuthorizer() { public void setAuthorizer(ApiGatewayAuthorizerContext authorizer) { this.authorizer = authorizer; } - - @Override - public String toString() { - return "ApiGatewayRequestContext{" + - "resourceId='" + resourceId + '\'' + - ", apiId='" + apiId + '\'' + - ", resourcePath='" + resourcePath + '\'' + - ", httpMethod='" + httpMethod + '\'' + - ", requestId='" + requestId + '\'' + - ", accountId='" + accountId + '\'' + - ", identity=" + identity + - ", authorizer=" + authorizer + - ", stage='" + stage + '\'' + - '}'; - } }