AWS signature version 4 signing process for the python requests module
84
{
"context": "This evaluation assesses how effectively the engineer uses the aws-requests-auth package to handle different payload types in AWS authenticated requests. The focus is on proper usage of AWSRequestsAuth class and its integration with the requests library for payload handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import AWSRequestsAuth",
"description": "Correctly imports the AWSRequestsAuth class from aws_requests_auth.aws_auth module",
"max_score": 10
},
{
"name": "Import requests library",
"description": "Imports the requests library to make HTTP calls",
"max_score": 5
},
{
"name": "Initialize AWSRequestsAuth",
"description": "Creates an AWSRequestsAuth instance with all required parameters: aws_access_key, aws_secret_access_key, aws_host (extracted from URL), aws_region, and aws_service",
"max_score": 20
},
{
"name": "Extract host from URL",
"description": "Properly extracts the hostname from the provided URL to use as aws_host parameter for AWSRequestsAuth initialization",
"max_score": 10
},
{
"name": "Use auth parameter",
"description": "Passes the AWSRequestsAuth instance to requests using the auth parameter when making HTTP calls",
"max_score": 15
},
{
"name": "Handle GET requests",
"description": "Correctly makes GET requests using requests.get() with authentication, handling None/empty body appropriately",
"max_score": 10
},
{
"name": "Handle POST requests",
"description": "Correctly makes POST requests using requests.post() with authentication, passing body data via the data or json parameter",
"max_score": 10
},
{
"name": "Handle string payloads",
"description": "Properly passes string body data to requests (e.g., JSON strings) which aws-requests-auth will hash correctly",
"max_score": 10
},
{
"name": "Handle bytes payloads",
"description": "Properly passes bytes body data to requests which aws-requests-auth will hash correctly",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-aws-requests-authdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10