Expected Behaviour
resp_text.is_json() returns False because the content type is not JSON.
Current Behaviour
Both calls return True; is_json ignores content_type.
Code snippet
from aws_lambda_powertools.event_handler.api_gateway import BedrockResponse
resp_json = BedrockResponse(body={"ok": True}, content_type="application/json")
resp_text = BedrockResponse(body="plain", content_type="text/plain")
print(resp_json.is_json())
print(resp_text.is_json())
Possible Solution
Response.is_json() in the same file correctly looks at the Content-Type. BedrockResponse.is_json() should follow the same logic (checking for application/json or variants) instead of returning True unconditionally.
Steps to Reproduce
Run the repro script.
Powertools for AWS Lambda (Python) version
latest
AWS Lambda function runtime
3.12
Packaging format used
PyPi
Debugging logs
Note: This issue was identified by an automated testing tool for academic research and manually verified. If you have any concerns about this type of reporting, please let me know, and I will adjust my workflow accordingly.
Expected Behaviour
resp_text.is_json()returnsFalsebecause the content type is not JSON.Current Behaviour
Both calls return
True;is_jsonignorescontent_type.Code snippet
Possible Solution
Response.is_json()in the same file correctly looks at theContent-Type.BedrockResponse.is_json()should follow the same logic (checking forapplication/jsonor variants) instead of returningTrueunconditionally.Steps to Reproduce
Run the repro script.
Powertools for AWS Lambda (Python) version
latest
AWS Lambda function runtime
3.12
Packaging format used
PyPi
Debugging logs