Skip to content

Commit ebd5acd

Browse files
committed
migrate to APIGatewayV2HTTPEvent
1 parent df70d56 commit ebd5acd

File tree

28 files changed

+83
-759
lines changed

28 files changed

+83
-759
lines changed

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/AwsHttpApiV2SecurityContextWriter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
package com.amazonaws.serverless.proxy;
1414

1515
import com.amazonaws.serverless.proxy.internal.jaxrs.AwsHttpApiV2SecurityContext;
16-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
1716
import com.amazonaws.services.lambda.runtime.Context;
1817

18+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
1919
import jakarta.ws.rs.core.SecurityContext;
2020

21-
public class AwsHttpApiV2SecurityContextWriter implements SecurityContextWriter<HttpApiV2ProxyRequest> {
21+
public class AwsHttpApiV2SecurityContextWriter implements SecurityContextWriter<APIGatewayV2HTTPEvent> {
2222
@Override
23-
public SecurityContext writeSecurityContext(HttpApiV2ProxyRequest event, Context lambdaContext) {
23+
public SecurityContext writeSecurityContext(APIGatewayV2HTTPEvent event, Context lambdaContext) {
2424
return new AwsHttpApiV2SecurityContext(lambdaContext, event);
2525
}
2626
}

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/jaxrs/AwsHttpApiV2SecurityContext.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
1616
import com.amazonaws.serverless.proxy.internal.SecurityUtils;
17-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
1817
import com.amazonaws.services.lambda.runtime.Context;
18+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
1919
import com.fasterxml.jackson.core.JsonProcessingException;
2020
import com.fasterxml.jackson.databind.JsonNode;
2121
import org.slf4j.Logger;
@@ -33,9 +33,9 @@ public class AwsHttpApiV2SecurityContext implements SecurityContext {
3333
private static Logger log = LoggerFactory.getLogger(AwsHttpApiV2SecurityContext.class);
3434

3535
private Context lambdaContext;
36-
private HttpApiV2ProxyRequest event;
36+
private APIGatewayV2HTTPEvent event;
3737

38-
public AwsHttpApiV2SecurityContext(final Context lambdaCtx, final HttpApiV2ProxyRequest request) {
38+
public AwsHttpApiV2SecurityContext(final Context lambdaCtx, final APIGatewayV2HTTPEvent request) {
3939
lambdaContext = lambdaCtx;
4040
event = request;
4141
}
@@ -79,8 +79,8 @@ public boolean isUserInRole(String s) {
7979
return false;
8080
}
8181

82-
return event.getRequestContext().getAuthorizer().getJwtAuthorizer().getScopes().contains(s) ||
83-
event.getRequestContext().getAuthorizer().getJwtAuthorizer().getClaims().containsKey(s);
82+
return event.getRequestContext().getAuthorizer().getJwt().getScopes().contains(s) ||
83+
event.getRequestContext().getAuthorizer().getJwt().getClaims().containsKey(s);
8484

8585
}
8686

@@ -94,7 +94,7 @@ public String getAuthenticationScheme() {
9494
if (event.getRequestContext().getAuthorizer() == null) {
9595
return null;
9696
}
97-
if (event.getRequestContext().getAuthorizer().isJwt()) {
97+
if (event.getRequestContext().getAuthorizer().getJwt() != null) {
9898
return AUTH_SCHEME_JWT;
9999
}
100100
return null;

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/ApacheCombinedServletLogFormatter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.amazonaws.serverless.proxy.LogFormatter;
1616
import com.amazonaws.serverless.proxy.model.AwsProxyRequestContext;
1717

18-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequestContext;
18+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
1919
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2020

2121
import jakarta.servlet.http.HttpServletRequest;
@@ -79,7 +79,7 @@ public String format(ContainerRequestType servletRequest, ContainerResponseType
7979
//LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
8080
StringBuilder logLineBuilder = new StringBuilder();
8181
AwsProxyRequestContext gatewayContext = (AwsProxyRequestContext)servletRequest.getAttribute(API_GATEWAY_CONTEXT_PROPERTY);
82-
HttpApiV2ProxyRequestContext httpApiContext = (HttpApiV2ProxyRequestContext)servletRequest.getAttribute(HTTP_API_CONTEXT_PROPERTY);
82+
APIGatewayV2HTTPEvent.RequestContext httpApiContext = (APIGatewayV2HTTPEvent.RequestContext)servletRequest.getAttribute(HTTP_API_CONTEXT_PROPERTY);
8383

8484
// %h
8585
logLineBuilder.append(servletRequest.getRemoteAddr());

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsHttpApiV2HttpServletRequestReader.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@
1515
import com.amazonaws.serverless.exceptions.InvalidRequestEventException;
1616
import com.amazonaws.serverless.proxy.RequestReader;
1717
import com.amazonaws.serverless.proxy.model.ContainerConfig;
18-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
1918
import com.amazonaws.services.lambda.runtime.Context;
2019

20+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
2121
import jakarta.servlet.http.HttpServletRequest;
2222
import jakarta.ws.rs.core.SecurityContext;
2323

24-
public class AwsHttpApiV2HttpServletRequestReader extends RequestReader<HttpApiV2ProxyRequest, HttpServletRequest> {
24+
public class AwsHttpApiV2HttpServletRequestReader extends RequestReader<APIGatewayV2HTTPEvent, HttpServletRequest> {
2525
static final String INVALID_REQUEST_ERROR = "The incoming event is not a valid HTTP API v2 proxy request";
2626

2727
@Override
28-
public HttpServletRequest readRequest(HttpApiV2ProxyRequest request, SecurityContext securityContext, Context lambdaContext, ContainerConfig config) throws InvalidRequestEventException {
28+
public HttpServletRequest readRequest(APIGatewayV2HTTPEvent request, SecurityContext securityContext, Context lambdaContext, ContainerConfig config) throws InvalidRequestEventException {
2929
if (request.getRequestContext() == null || request.getRequestContext().getHttp().getMethod() == null || request.getRequestContext().getHttp().getMethod().equals("")) {
3030
throw new InvalidRequestEventException(INVALID_REQUEST_ERROR);
3131
}
@@ -44,7 +44,7 @@ public HttpServletRequest readRequest(HttpApiV2ProxyRequest request, SecurityCon
4444
}
4545

4646
@Override
47-
protected Class<? extends HttpApiV2ProxyRequest> getRequestClass() {
48-
return HttpApiV2ProxyRequest.class;
47+
protected Class<? extends APIGatewayV2HTTPEvent> getRequestClass() {
48+
return APIGatewayV2HTTPEvent.class;
4949
}
5050
}

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsHttpApiV2ProxyHttpServletRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
import com.amazonaws.serverless.proxy.internal.SecurityUtils;
1717
import com.amazonaws.serverless.proxy.model.ContainerConfig;
1818
import com.amazonaws.serverless.proxy.model.Headers;
19-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
2019
import com.amazonaws.serverless.proxy.model.MultiValuedTreeMap;
2120
import com.amazonaws.services.lambda.runtime.Context;
21+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
2222
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
2323
import org.slf4j.Logger;
2424
import org.slf4j.LoggerFactory;
@@ -42,7 +42,7 @@
4242
public class AwsHttpApiV2ProxyHttpServletRequest extends AwsHttpServletRequest {
4343
private static Logger log = LoggerFactory.getLogger(AwsHttpApiV2ProxyHttpServletRequest.class);
4444

45-
private HttpApiV2ProxyRequest request;
45+
private APIGatewayV2HTTPEvent request;
4646
private MultiValuedTreeMap<String, String> queryString;
4747
private Headers headers;
4848
private ContainerConfig config;
@@ -55,7 +55,7 @@ public class AwsHttpApiV2ProxyHttpServletRequest extends AwsHttpServletRequest {
5555
*
5656
* @param lambdaContext The Lambda function context. This object is used for utility methods such as log
5757
*/
58-
public AwsHttpApiV2ProxyHttpServletRequest(HttpApiV2ProxyRequest req, Context lambdaContext, SecurityContext sc, ContainerConfig cfg) {
58+
public AwsHttpApiV2ProxyHttpServletRequest(APIGatewayV2HTTPEvent req, Context lambdaContext, SecurityContext sc, ContainerConfig cfg) {
5959
super(lambdaContext);
6060
request = req;
6161
config = cfg;
@@ -64,7 +64,7 @@ public AwsHttpApiV2ProxyHttpServletRequest(HttpApiV2ProxyRequest req, Context la
6464
headers = headersMapToMultiValue(request.getHeaders());
6565
}
6666

67-
public HttpApiV2ProxyRequest getRequest() {
67+
public APIGatewayV2HTTPEvent getRequest() {
6868
return request;
6969
}
7070

@@ -380,7 +380,7 @@ public int getServerPort() {
380380
@Override
381381
public ServletInputStream getInputStream() throws IOException {
382382
if (requestInputStream == null) {
383-
requestInputStream = new AwsServletInputStream(bodyStringToInputStream(request.getBody(), request.isBase64Encoded()));
383+
requestInputStream = new AwsServletInputStream(bodyStringToInputStream(request.getBody(), request.getIsBase64Encoded()));
384384
}
385385
return requestInputStream;
386386
}

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyRequestDispatcher.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import com.amazonaws.serverless.proxy.internal.SecurityUtils;
1616
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
17-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
17+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
1818
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
1919
import org.slf4j.Logger;
2020
import org.slf4j.LoggerFactory;
@@ -137,8 +137,8 @@ void setRequestPath(ServletRequest req, final String destinationPath) {
137137
((AwsProxyRequest)req.getAttribute(API_GATEWAY_EVENT_PROPERTY)).setPath(dispatchTo);
138138
return;
139139
}
140-
if (req.getAttribute(HTTP_API_EVENT_PROPERTY) != null && req.getAttribute(HTTP_API_EVENT_PROPERTY) instanceof HttpApiV2ProxyRequest) {
141-
((HttpApiV2ProxyRequest)req.getAttribute(HTTP_API_EVENT_PROPERTY)).setRawPath(destinationPath);
140+
if (req.getAttribute(HTTP_API_EVENT_PROPERTY) != null && req.getAttribute(HTTP_API_EVENT_PROPERTY) instanceof APIGatewayV2HTTPEvent) {
141+
((APIGatewayV2HTTPEvent)req.getAttribute(HTTP_API_EVENT_PROPERTY)).setRawPath(destinationPath);
142142
return;
143143
}
144144

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/ServletLambdaContainerHandlerBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import com.amazonaws.serverless.proxy.*;
1717
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
1818
import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
19-
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
2019

20+
import com.amazonaws.services.lambda.runtime.events.apigateway.APIGatewayV2HTTPEvent;
2121
import jakarta.servlet.http.HttpServletRequest;
2222
import java.util.ArrayList;
2323
import java.util.List;
@@ -113,7 +113,7 @@ public Builder defaultHttpApiV2Proxy() {
113113
.responseWriter((ResponseWriter<AwsHttpServletResponse, ResponseType>) new AwsProxyHttpServletResponseWriter(true))
114114
.securityContextWriter((SecurityContextWriter<RequestType>) new AwsHttpApiV2SecurityContextWriter())
115115
.exceptionHandler((ExceptionHandler<ResponseType>) new AwsProxyExceptionHandler())
116-
.requestTypeClass((Class<RequestType>) HttpApiV2ProxyRequest.class)
116+
.requestTypeClass((Class<RequestType>) APIGatewayV2HTTPEvent.class)
117117
.responseTypeClass((Class<ResponseType>) AwsProxyResponse.class);
118118
return self();
119119

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/model/HttpApiV2AuthorizerMap.java

Lines changed: 0 additions & 103 deletions
This file was deleted.

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/model/HttpApiV2HttpContext.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/model/HttpApiV2JwtAuthorizer.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)