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.
Built Distribution
Close
Hashes for falguard-0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c00b5752bbf6cc650f77f9035a49af4297b3faca3d2cb2b89e2716fb933c0f9a |
|
MD5 | c925467f7e1523409e6ddaa1d7c5679b |
|
BLAKE2-256 | f55ea743739a5761e6b774dbe86c22ed83bd634796df2962ca25936140722bd1 |