info = {'sub': 'admin', 'scope': 'secret'} elif username == 'foo' and password == 'bar': info = {'sub': 'user1', 'scope': ''} else: # optional: raise exception for custom error response return None # optional if required_scopes is not None and not validate_scope(required_scopes, info['scope']): raise OAuthScopeProblem( description='Provided user doesn\'t have the required access rights', required_scopes=required_scopes, token_scopes=info['scope'] ) return info def dummy_func(token): return None def get_secret(user) -> str: return "You are {user} and the secret is 'wbevuec'".format(user=user) if __name__ == '__main__': app = specific.FlaskApp(__name__) app.add_api('openapi.yaml') app.run(port=8080)
#!/usr/bin/env python3 import specific def post_greeting(name: str) -> str: return 'Hello {name}'.format(name=name) if __name__ == '__main__': app = specific.FlaskApp(__name__, port=9090, specification_dir='swagger/') app.add_api('helloworld-api.yaml', arguments={'title': 'Hello World Example'}) app.run()
for property, subschema in six.iteritems(properties): if 'default' in subschema: instance.setdefault(property, subschema['default']) for error in validate_properties(validator, properties, instance, schema): yield error return jsonschema.validators.extend(validator_class, {'properties': set_defaults}) DefaultsEnforcingDraft4Validator = extend_with_set_default( Draft4RequestValidator) class DefaultsEnforcingRequestBodyValidator(RequestBodyValidator): def __init__(self, *args, **kwargs): super(DefaultsEnforcingRequestBodyValidator, self).__init__(*args, validator=DefaultsEnforcingDraft4Validator, **kwargs) validator_map = {'body': DefaultsEnforcingRequestBodyValidator} if __name__ == '__main__': app = specific.FlaskApp(__name__, port=8080, specification_dir='.') app.add_api('enforcedefaults-api.yaml', validator_map=validator_map) app.run()
#!/usr/bin/env python3 import specific def post_greeting(name: str) -> str: return 'Hello {name}'.format(name=name) if __name__ == '__main__': app = specific.FlaskApp(__name__, port=9090, specification_dir='openapi/') app.add_api('helloworld-api.yaml', arguments={'title': 'Hello World Example'}) app.run()
#!/usr/bin/env python import logging import specific from specific.resolver import MethodViewResolver logging.basicConfig(level=logging.INFO) if __name__ == '__main__': app = specific.FlaskApp(__name__, specification_dir='openapi/', debug=True) options = {"swagger_ui": True} app.add_api('pets-api.yaml', options=options, arguments={'title': 'MethodViewResolver Example'}, resolver=MethodViewResolver('api'), strict_validation=True, validate_responses=True) app.run(port=9090)