def header_filter(get_response, params): async def decorated_filter(request, *args, **kwargs): response = await get_response(request, *args, **kwargs) response.headers['x-test'] = 'abc' return response return decorated_filter @bpv1.resource('/') async def v1_root(request): return {'version': 1} @bpv1.resource('/test') async def v1_test(request): return [3, 2, 1] @bpv2.resource('/', validators=[header_filter]) async def v2_root(request): return {'version': 2} app = Rafter() app.blueprint(bpv1) app.blueprint(bpv2, url_prefix='/v2') if __name__ == "__main__": app.run(host="127.0.0.1", port=5000)
from rafter import Rafter from rafter_openapi import swagger_blueprint, openapi_blueprint from blueprints.car import blueprint as car_blueprint from blueprints.driver import blueprint as driver_blueprint from blueprints.garage import blueprint as garage_blueprint from blueprints.manufacturer import blueprint as manufacturer_blueprint app = Rafter() app.blueprint(openapi_blueprint) app.blueprint(swagger_blueprint) app.blueprint(car_blueprint) app.blueprint(driver_blueprint) app.blueprint(garage_blueprint) app.blueprint(manufacturer_blueprint) app.config.API_VERSION = '1.0.0' app.config.API_TITLE = 'Car API' app.config.API_TERMS_OF_SERVICE = 'Use with caution!' app.config.API_CONTACT_EMAIL = '*****@*****.**' app.run(host="0.0.0.0", debug=True)