Skip to main content

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

falguard-0.4-py2.py3-none-any.whl (4.0 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page