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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

Uploaded Python 2Python 3

File details

Details for the file falguard-0.4-py2.py3-none-any.whl.

File metadata

  • Download URL: falguard-0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for falguard-0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c00b5752bbf6cc650f77f9035a49af4297b3faca3d2cb2b89e2716fb933c0f9a
MD5 c925467f7e1523409e6ddaa1d7c5679b
BLAKE2b-256 f55ea743739a5761e6b774dbe86c22ed83bd634796df2962ca25936140722bd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page