Wrap a WSGI application in an AWS Lambda handler function for running on API Gateway.
Project description
Wrap a WSGI application in an AWS Lambda handler function for running on API Gateway.
A quick example:
from apig_wsgi import make_lambda_handler
from myapp.wsgi import app
# Configure this as your entry point in AWS Lambda
lambda_handler = make_lambda_handler(app)
Installation
Use pip:
pip install apig-wsgi
Tested on Python 2.7 and Python 3.6.
Usage
make_lambda_handler(app, binary_support=False)
app should be a WSGI app, for example from Django’s wsgi.py or Flask’s Flask() object.
If you want to support sending binary responses, set binary_support to True and make sure you have '*/*' in the ‘binary media types’ configuration on your Rest API on API Gateway. Note, whilst API Gateway supports a list of media types, using ‘/’ is the best way to do it, since it is used to match the request ‘Accept’ header as well.
Note that binary responses aren’t sent if your response has a ‘Content-Type’ starting ‘text/html’ or ‘application/json’ - this is to support sending larger text responses.
History
Pending Release
1.1.2 (2018-05-11)
Fix crash using binary support for responses missing a Content-Type header.
1.1.1 (2018-05-11)
Remove debug print()
1.1.0 (2018-05-10)
Add binary_support flag to enable sending binary responses, if enabled on API Gateway.
1.0.0 (2018-03-08)
First release on PyPI, working basic integration for WSGI apps on API Gateway.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for apig_wsgi-1.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbcaba2144b70a40ffe0c0f9f1cadaf3e962a2deb7c9399f6e56ae5182453b36 |
|
MD5 | 601fb55f33045e6d98dda43aa66ff72d |
|
BLAKE2b-256 | 6ef403d272c5cbb2612db6a504dc38ea96f17008a9762386e0114a61f0095e5b |