awslabs / awslabs/aws-lambda-cpp
Lambda return types through HTTP API Gateway - only json array or json object are working , else error 500
- Dominant language
- C++
- Stars
- 465
- Forks
- 98
- Avg merge
- 12h 47m
- Merged PRs (30d)
- 3
Description
I'd like to return binary data through the HTTP API Gateway (HTTP , NOT REST API!), but the response has to be a json object, always. Is there some workaround to make that happen like it is possible for the REST API ?
```
#include
using namespace aws::lambda_runtime;
static invocation_response my_handler(invocation_request const& req)
{
return invocation_response::success("binarygoeshere", "application/zip");
}
int main()
{
run_handler(my_handler);
return 0;
}
```
^this returns error code 500
Contributor guide
Research direction
Start with invocation_response::success and the run_handler path shown in the example, then trace how the response is serialized for HTTP API Gateway. Check whether existing response-serialization tests cover non-JSON payloads. Done means establishing and testing a supported way for binary data with content type application/zip to avoid the HTTP 500 response.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, cpp
- Domain
- api, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100