Skip to content

Commit 45a8308

Browse files
Merge branch 'develop' into data_classes_duplicated_code
2 parents ce28f18 + 2b1a5bb commit 45a8308

12 files changed

+228
-301
lines changed

aws_lambda_powertools/utilities/data_classes/alb_event.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class ALBEventRequestContext(DictWrapper):
1818
@property
1919
def elb_target_group_arn(self) -> str:
2020
"""Target group arn for your Lambda function"""
21-
return self["requestContext"]["elb"]["targetGroupArn"]
21+
return self["elb"]["targetGroupArn"]
2222

2323

2424
class ALBEvent(BaseProxyEvent):
@@ -32,7 +32,7 @@ class ALBEvent(BaseProxyEvent):
3232

3333
@property
3434
def request_context(self) -> ALBEventRequestContext:
35-
return ALBEventRequestContext(self._data)
35+
return ALBEventRequestContext(self["requestContext"])
3636

3737
@property
3838
def resolved_query_string_parameters(self) -> dict[str, list[str]]:

aws_lambda_powertools/utilities/data_classes/api_gateway_authorizer_event.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def stage_variables(self) -> dict[str, str]:
183183

184184
@property
185185
def request_context(self) -> BaseRequestContext:
186-
return BaseRequestContext(self._data)
186+
return BaseRequestContext(self["requestContext"])
187187

188188
@overload
189189
def get_header_value(
@@ -306,7 +306,7 @@ def query_string_parameters(self) -> dict[str, str]:
306306

307307
@property
308308
def request_context(self) -> BaseRequestContextV2:
309-
return BaseRequestContextV2(self._data)
309+
return BaseRequestContextV2(self["requestContext"])
310310

311311
@property
312312
def path_parameters(self) -> dict[str, str]:

aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py

+11-13
Original file line numberDiff line numberDiff line change
@@ -61,42 +61,41 @@ class APIGatewayEventRequestContext(BaseRequestContext):
6161
@property
6262
def connected_at(self) -> int | None:
6363
"""The Epoch-formatted connection time. (WebSocket API)"""
64-
return self["requestContext"].get("connectedAt")
64+
return self.get("connectedAt")
6565

6666
@property
6767
def connection_id(self) -> str | None:
6868
"""A unique ID for the connection that can be used to make a callback to the client. (WebSocket API)"""
69-
return self["requestContext"].get("connectionId")
69+
return self.get("connectionId")
7070

7171
@property
7272
def event_type(self) -> str | None:
7373
"""The event type: `CONNECT`, `MESSAGE`, or `DISCONNECT`. (WebSocket API)"""
74-
return self["requestContext"].get("eventType")
74+
return self.get("eventType")
7575

7676
@property
7777
def message_direction(self) -> str | None:
7878
"""Message direction (WebSocket API)"""
79-
return self["requestContext"].get("messageDirection")
79+
return self.get("messageDirection")
8080

8181
@property
8282
def message_id(self) -> str | None:
8383
"""A unique server-side ID for a message. Available only when the `eventType` is `MESSAGE`."""
84-
return self["requestContext"].get("messageId")
84+
return self.get("messageId")
8585

8686
@property
8787
def operation_name(self) -> str | None:
8888
"""The name of the operation being performed"""
89-
return self["requestContext"].get("operationName")
89+
return self.get("operationName")
9090

9191
@property
9292
def route_key(self) -> str | None:
9393
"""The selected route key."""
94-
return self["requestContext"].get("routeKey")
94+
return self.get("routeKey")
9595

9696
@property
9797
def authorizer(self) -> APIGatewayEventAuthorizer:
98-
authz_data = self._data.get("requestContext", {}).get("authorizer", {})
99-
return APIGatewayEventAuthorizer(authz_data)
98+
return APIGatewayEventAuthorizer(self.get("authorizer") or {})
10099

101100

102101
class APIGatewayProxyEvent(BaseProxyEvent):
@@ -129,7 +128,7 @@ def resolved_headers_field(self) -> dict[str, Any]:
129128

130129
@property
131130
def request_context(self) -> APIGatewayEventRequestContext:
132-
return APIGatewayEventRequestContext(self._data)
131+
return APIGatewayEventRequestContext(self["requestContext"])
133132

134133
@property
135134
def path_parameters(self) -> dict[str, str]:
@@ -241,8 +240,7 @@ def iam(self) -> RequestContextV2AuthorizerIam:
241240
class RequestContextV2(BaseRequestContextV2):
242241
@property
243242
def authorizer(self) -> RequestContextV2Authorizer:
244-
ctx = self.get("requestContext") or {} # key might exist but can be `null`
245-
return RequestContextV2Authorizer(ctx.get("authorizer", {}))
243+
return RequestContextV2Authorizer(self.get("authorizer") or {})
246244

247245

248246
class APIGatewayProxyEventV2(BaseProxyEvent):
@@ -284,7 +282,7 @@ def cookies(self) -> list[str]:
284282

285283
@property
286284
def request_context(self) -> RequestContextV2:
287-
return RequestContextV2(self._data)
285+
return RequestContextV2(self["requestContext"])
288286

289287
@property
290288
def path_parameters(self) -> dict[str, str]:

aws_lambda_powertools/utilities/data_classes/appsync_authorizer_event.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,32 @@ class AppSyncAuthorizerEventRequestContext(DictWrapper):
1111
@property
1212
def api_id(self) -> str:
1313
"""AppSync API ID"""
14-
return self["requestContext"]["apiId"]
14+
return self["apiId"]
1515

1616
@property
1717
def account_id(self) -> str:
1818
"""AWS Account ID"""
19-
return self["requestContext"]["accountId"]
19+
return self["accountId"]
2020

2121
@property
2222
def request_id(self) -> str:
2323
"""Requestt ID"""
24-
return self["requestContext"]["requestId"]
24+
return self["requestId"]
2525

2626
@property
2727
def query_string(self) -> str:
2828
"""GraphQL query string"""
29-
return self["requestContext"]["queryString"]
29+
return self["queryString"]
3030

3131
@property
3232
def operation_name(self) -> str | None:
3333
"""GraphQL operation name, optional"""
34-
return self["requestContext"].get("operationName")
34+
return self.get("operationName")
3535

3636
@property
3737
def variables(self) -> dict:
3838
"""GraphQL variables"""
39-
return self["requestContext"]["variables"]
39+
return self["variables"]
4040

4141

4242
class AppSyncAuthorizerEvent(DictWrapper):
@@ -57,7 +57,7 @@ def authorization_token(self) -> str:
5757
@property
5858
def request_context(self) -> AppSyncAuthorizerEventRequestContext:
5959
"""Request context"""
60-
return AppSyncAuthorizerEventRequestContext(self._data)
60+
return AppSyncAuthorizerEventRequestContext(self["requestContext"])
6161

6262

6363
class AppSyncAuthorizerResponse:

0 commit comments

Comments
 (0)