Skip to content

Commit 92458b7

Browse files
refactor(data_classes): remove duplicated code (#6288)
* refactor(data_classes): remove duplicated code Remove overriding methods that have the same code as the overriden ones. * refactor(data_classes): further remove duplicated code Manually checked with: $ pip install pylint $ pylint --disable=all --enable=R0801 --min-similarity-lines=1 aws_lambda_powertools/utilities/data_classes * refactor(data_classes): Add comments --------- Co-authored-by: Leandro Damascena <[email protected]>
1 parent cdcf850 commit 92458b7

File tree

4 files changed

+5
-26
lines changed

4 files changed

+5
-26
lines changed

aws_lambda_powertools/utilities/data_classes/alb_event.py

-4
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ class ALBEvent(BaseProxyEvent):
3434
def request_context(self) -> ALBEventRequestContext:
3535
return ALBEventRequestContext(self["requestContext"])
3636

37-
@property
38-
def multi_value_query_string_parameters(self) -> dict[str, list[str]]:
39-
return self.get("multiValueQueryStringParameters") or {}
40-
4137
@property
4238
def resolved_query_string_parameters(self) -> dict[str, list[str]]:
4339
return self.multi_value_query_string_parameters or super().resolved_query_string_parameters

aws_lambda_powertools/utilities/data_classes/api_gateway_proxy_event.py

+1-8
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,9 @@ def resource(self) -> str:
118118
def multi_value_headers(self) -> dict[str, list[str]]:
119119
return CaseInsensitiveDict(self.get("multiValueHeaders"))
120120

121-
@property
122-
def multi_value_query_string_parameters(self) -> dict[str, list[str]]:
123-
return self.get("multiValueQueryStringParameters") or {} # key might exist but can be `null`
124-
125121
@property
126122
def resolved_query_string_parameters(self) -> dict[str, list[str]]:
127-
if self.multi_value_query_string_parameters:
128-
return self.multi_value_query_string_parameters
129-
130-
return super().resolved_query_string_parameters
123+
return self.multi_value_query_string_parameters or super().resolved_query_string_parameters
131124

132125
@property
133126
def resolved_headers_field(self) -> dict[str, Any]:

aws_lambda_powertools/utilities/data_classes/bedrock_agent_event.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ class BedrockAgentEvent(BaseProxyEvent):
5757
See https://docs.aws.amazon.com/bedrock/latest/userguide/agents-create.html
5858
"""
5959

60+
# httpMethod is inherited from BaseProxyEvent class.
61+
6062
@property
6163
def message_version(self) -> str:
6264
return self["messageVersion"]
@@ -77,10 +79,6 @@ def action_group(self) -> str:
7779
def api_path(self) -> str:
7880
return self["apiPath"]
7981

80-
@property
81-
def http_method(self) -> str:
82-
return self["httpMethod"]
83-
8482
@property
8583
def parameters(self) -> list[BedrockAgentProperty]:
8684
parameters = self.get("parameters") or []

aws_lambda_powertools/utilities/data_classes/vpc_lattice.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717

1818
class VPCLatticeEventBase(BaseProxyEvent):
19+
# is_base64_encoded and path are inherited from BaseProxyEvent class.
20+
1921
@property
2022
def body(self) -> str:
2123
"""The VPC Lattice body."""
@@ -169,16 +171,6 @@ def version(self) -> str:
169171
"""The VPC Lattice v2 Event version"""
170172
return self["version"]
171173

172-
@property
173-
def is_base64_encoded(self) -> bool | None:
174-
"""A boolean flag to indicate if the applicable request payload is Base64-encode"""
175-
return self.get("isBase64Encoded")
176-
177-
@property
178-
def path(self) -> str:
179-
"""The VPC Lattice v2 Event path"""
180-
return self["path"]
181-
182174
@property
183175
def request_context(self) -> vpcLatticeEventV2RequestContext:
184176
"""The VPC Lattice v2 Event request context."""

0 commit comments

Comments
 (0)