stageVariables with value null for sam local start-api
- Dominant language
- Python
- Stars
- 6.7k
- Forks
- 1.2k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 52
Description
### Description:
When using an HttpApi event type for a Lambda function in a SAM template and running it locally, sam local uses a `stageVariables` key with a `null` value, which breaks deserialization for the Rust Lambda runtime and does not map to what API Gateway actually sends.
See https://github.com/awslabs/aws-lambda-rust-runtime/issues/365 for more information on the Rust runtime side.
### Steps to reproduce:
* Use `sam init` to create a new project
* Select Zip, Python3.9, and Hello World example
* Modify the template.yaml file to use HttpApi instead of Api
* Modify the function code to display the event payload
* Run `sam local start-api`
* Invoke the local API
* Notice the `stageVariables` field with a value of `null`
### Observed result:
Here is a sample payload sent to the Lambda function from `sam local start-api`:
```json
{
"headers": {
"accept": "*/*",
"content-length": "0",
"host": "xxx.execute-api.us-east-1.amazonaws.com",
"user-agent": "curl/7.64.1",
"x-amzn-trace-id": "Root=1-5eb33c07-de25b420912dee103a5db434",
"x-forwarded-for": "65.78.31.245",
"x-forwarded-port": "443",
"x-forwarded-proto": "https"
},
"isBase64Encoded": false,
"rawPath": "/",
"rawQueryString": "",
"requestContext": {
"accountId": "123456789012",
"apiId": "xxx",
"domainName": "xxx.execute-api.us-east-1.amazonaws.com",
"domainPrefix": "xxx",
"http": {
"method": "GET",
"path": "/",
"protocol": "HTTP/1.1",
"sourceIp": "65.78.31.245",
"userAgent": "curl/7.64.1"
},
"requestId": "MIZRNhJtIAMEMDw=",
"routeKey": "$default",
"stage": "$default",
"time": "06/May/2020:22:36:55 +0000",
"timeEpoch": 1588804615616
},
"routeKey": "$default",
"version": "2.0"
}
```
### Expected result:
`stageVariables` would either be missing or contain an empty object.
### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
1. OS: Ubuntu 20.04
2. `sam --version`: 1.34.1
3. AWS region: eu-north-1
Contributor guide
Assessment
This issue has not been assessed yet.