Ejemplo n.º 1
0
        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)
Ejemplo n.º 2
0
#!/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()
Ejemplo n.º 3
0
        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()
Ejemplo n.º 4
0
#!/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()
Ejemplo n.º 5
0
#!/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)