Beispiel #1
0
def add_http_handler(handler, path, **kwargs):
    logger.info('Adding route', path=path)

    async def wrapper(request):
        return await request_handler(request, handler)

    return [
        RouteDef('GET', path, wrapper, kwargs),
        RouteDef('POST', path, wrapper, kwargs)
    ]
Beispiel #2
0
def with_prefix(prefix: str, routes: Sequence[RouteDef]) -> Sequence[RouteDef]:
    """ Adds prefix to routes
    """
    return [
        RouteDef(route.method, prefix + route.path, route.handler,
                 route.kwargs) for route in routes
    ]
Beispiel #3
0
def get_routes():
    return [RouteDef(*args) for args in (
        ("POST", "/api/v2/indy/construct-proof", views.construct_proof, {}),
        ("POST", "/api/v2/indy/generate-credential-request", views.generate_credential_request, {}),
        ("POST", "/api/v2/indy/store-credential", views.store_credential, {}),
        ("POST", "/api/v2/indy/register-issuer", views.register_issuer, {}),
        #("GET", "/api/v2/indy/debug", views.request_info, {}),  # Do not expose in PROD
        ("GET", "/health", views.combined_health, {}), # Replaces tob_api health endpoint
        #("GET", "/api/v2/indy/health", views.health, {}),
        ("GET", "/api/v2/indy/status", views.status, {}),
        ("GET", "/api/v2/credential/{id}/verify", views.verify_credential, {}),
    )]
Beispiel #4
0
    def expose_method(self, handler, path=None, **kwargs):
        role = kwargs.pop('role', self.NONE)
        name = kwargs.get('name', handler.__name__)
        if path is None:
            path = '/{}'.format(name)

        self._methods.add_method(handler, name=name, role=role)

        async def get_handler(request):
            query = dict(request.query)
            query.update(request.match_info)
            result = await handler(**query)
            return resp(result)

        async def post_handler(request):
            post = await request.post()
            query = dict(request.query)
            query.update(post)
            query.update(request.match_info)
            result = await handler(**query)
            return resp(result)

        self._routes.append(RouteDef('GET', path, get_handler, kwargs))
        self._routes.append(RouteDef('POST', path, post_handler, kwargs))
Beispiel #5
0
async def configure(appctx):
    appctx.declare('routes')
    appctx.routes.set([
        # authn
        RouteDef('POST', '/authn/session', authn.init_authn_session, {}),
        RouteDef('GET', '/authn/challenge', authn.get_authn_challenge, {}),
        RouteDef('POST', '/authn/challenge', authn.verify_authn_challenge, {}),

        # user
        RouteDef('GET', '/users/{user_profile_id}/contactMethods/{contact_method_id}/verify',
                 users.get_contact_method_verify_challenge, {}),
        RouteDef('POST', '/users/{user_profile_id}/contactMethods/{contact_method_id}/verify',
                 users.verify_contact_method, {}),
        RouteDef('POST', '/users/{user_profile_id}/paymentMethods', users.add_payment_method, {}),

        # plan
        RouteDef('GET', '/plans', plans.get_subscription_plans, {}),
        RouteDef('POST', '/plans', plans.create_subscription_plan, {}),
        RouteDef('POST', '/plans/{subscription_plan_id}/subscribe',
                 plans.create_subscription, {}),
    ])
Beispiel #6
0
def get_routes():
    return [
        RouteDef(*args) for args in (
            ("POST", "/api/v2/indy/construct-proof", views.construct_proof,
             {}),
            ("POST", "/api/v2/indy/generate-credential-request",
             views.generate_credential_request, {}),
            ("POST", "/api/v2/indy/store-credential", views.store_credential,
             {}),
            ("POST", "/api/v2/indy/register-issuer", views.register_issuer,
             {}),
            ("GET", "/api/v2/indy/debug", views.reqInfo,
             {}),  # FIXME - REMOVE IN PROD
            ("GET", "/api/v2/debug", views.reqInfo,
             {}),  # FIXME - REMOVE IN PROD
            ("GET", "/api/v2/indy/status", views.status, {}),
            ("GET", "/api/v2/credential/{id}/verify", views.verify_credential,
             {}),
        )
    ]
Beispiel #7
0
 def add_route(self, path: str, handler: _HandlerType, **kwargs: Any):
     self._items.append(RouteDef(hdrs.METH_ANY, path, handler, kwargs))
     self._items.append(
         RouteDef(hdrs.METH_ANY, path + "/{id}", handler, kwargs))
Beispiel #8
0
 def inner(handler: _HandlerType) -> _HandlerType:
     self._items.append(RouteDef(method, path, handler, kwargs))
     self._items.append(
         RouteDef(method, path + "/{id}", handler, kwargs))
     return handler