Falcon requests validation against OpenAPI (Swagger) schema
Project description
Falguard is a Python library that provides request validation helpers for Falcon web framework. Falguard relies on Yelp’s bravado-core library.
Features
Validation of OpenAPI (Swagger) schema
Error serialization compliant with JSON:API specification
Validator may be used either as a hook or a middleware component
Installation
$ pip install falguard
Usage
Instantiate Validator with the path to OpenAPI specification (both json and yaml are supported)…
import falguard
validator = falguard.Validator('spec.json')
…and use it as the hook on the responder…
class Resource:
@falcon.before(validator)
def on_get(self, request, response, **validated):
pass
…or the hook on the whole resource…
@falcon.before(validator)
class Resource:
pass
…or globally, as the middleware component.
import falcon
api = falcon.API(middleware=validator)
All validated parameters (path, query, body) are injected back to the responder so it MUST accept relevant number of arguments, eg.
class Resource:
def on_put(self, request, response, resource_id, data):
pass
def on_post(self, request, response, **validated):
pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for falguard-0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c00b5752bbf6cc650f77f9035a49af4297b3faca3d2cb2b89e2716fb933c0f9a |
|
MD5 | c925467f7e1523409e6ddaa1d7c5679b |
|
BLAKE2b-256 | f55ea743739a5761e6b774dbe86c22ed83bd634796df2962ca25936140722bd1 |