
Product
Socket Now Supports pylock.toml Files
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
aws-flask-swagger-ui
Advanced tools
Supply Chain Security
Vulnerability
Quality
Maintenance
License
Unpopular package
QualityThis package is not very popular.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Simple Flask blueprint for adding Swagger UI to your flask application. Including a WSGI adapter for AWS API Gateway/Lambda Proxy Integration to allows you to use WSGI-compatible middleware and frameworks like Flask and Django with the AWS API Gateway/Lambda proxy integration for your Swagger documentation.
Included Swagger UI version: see here
pip install aws-flask-swagger-ui
Simple usage example is shown below for more options check the file extend examples:
from flask import Flask
from aws_flask_swagger_ui import get_swaggerui_blueprint, flask_ui_response
app = Flask(__name__)
swaggerui_blueprint = get_swaggerui_blueprint(
"/api-doc",
aws_gw_config={
"exportType": "oas30",
"parameters": {
"extensions": "integrations",
"extensions": "apigateway",
"extensions": "authorizers",
},
},
)
app.register_blueprint(swaggerui_blueprint)
def lambda_handler(event, context):
return flask_ui_response(app, event, context, base64_content_types={"image/png"})
http://mysite.com = https://restApiId.execute-api.region.amazonaws.com/stage/
In order that the above example works correctly the Lambda function must be connected as Proxy to the endpoint http://mysite.com/api-doc/
Configure your API Gateway with a {proxy+}
resource with an ANY
method. Your "Method Response" should likely include an application/json
"Response Body for 200" that uses the Empty
model.
Because API Gateway doesn't match the root folder with {proxy+} definition, your default URL should contain index.html. It is suggested to create a mock integration on your path /api-doc
to return a 301. (ex: /api-doc => 301
=> /api-doc/index.html
) Source code based on Terraform to achieve this can be found in this article.
The Lambda function must have the permissions to export the API definition!
If you wish to use the "Test" functionality in Lambda for your function, you will need a "API Gateway AWS Proxy" event. Check the event JSON objects in the events folder.
To update your test event, click "Actions" -> "Configure test event".
Within the Events you need to update the "apiId"
and "stage"
with values for your AWS account.
If you create an environment variable like, SWAGGER_PASSWORD=abc
Then you will need to pass a query parameter in the URL like, http://mysite.com/api-doc/?pass=abc
If you don't have the environment variable then endpoint is not password protected and you can access it as per normal http://mysite.com/api-doc/
The blueprint supports overloading all Swagger UI configuration options that can be JSON serialized. See swagger-ui configuration for options.
Plugins and function parameters are not supported at this time.
OAuth2 parameters can be found at swagger-ui oauth2.
This library is licensed under the Apache 2.0 License.
git clone https://github.com/tb102122/aws_flask_swagger_ui.git
python -m venv virtualenv
virtualenv/bin/activate
pip install --upgrade pip, setuptools, wheel
pip install flake8 pytest boto3 pytest-cov
pip install .
flake8 .
pytest
FAQs
Swagger UI Blueprint for Flask on AWS Lambda
We found that aws-flask-swagger-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.
Research
Security News
Malicious Ruby gems typosquat Fastlane plugins to steal Telegram bot tokens, messages, and files, exploiting demand after Vietnam’s Telegram ban.