Skip to content

ambertide/flask-verify

Repository files navigation

flask_verify

Python package Maintainability Test Coverage Documentation Status

A python package to verify the content of Requests and convert the return values of view functions in Flask applications.

Installation

You can install flask_verify

pip install flask_verify

Example

Consider this minimal example, where Message is a simple dataclass.

from flask_verify.verify_json import verify_json_route
from flask import Flask, request

app = Flask(__name__)

@app.route('/example', methods=['POST'])
@verify_json_route(must_contain=('message', 'username'))
def example_route():
    message = Message(request.json['username'], request.json['message'])
    return message, 200

Just by writing a single decorator statement, we have:

  1. Ensured that the Request is of type application/json and contains keys message and username, if this is not true, our server will respond with a 400 status code Response explaining the issue to the server, including the name of the first missing key if that exists.
  2. Converted the return type to JSON, message object is an instance of the Message dataclass, thanks to our decorator, the Response will automatically be converted to a JSON containing the field names and values of the dataclass instance.

Read the Docs

About

Decorators that check Flask routes and verify various properties in request and response.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors