Compare commits

...

2 Commits

Author SHA1 Message Date
Emmanuel Garette 6a27b002ff Merge branch 'develop' into dist/risotto/risotto-2.8.0/develop 2021-03-27 10:59:19 +01:00
Emmanuel Garette 8fdc34c4d3 fix 2021-03-27 10:59:10 +01:00
1 changed files with 11 additions and 5 deletions

View File

@ -29,7 +29,8 @@ def create_context(request):
def register(version: str, def register(version: str,
path: str): path: str,
):
""" Decorator to register function to the http route """ Decorator to register function to the http route
""" """
def decorator(function): def decorator(function):
@ -41,7 +42,9 @@ def register(version: str,
class extra_route_handler: class extra_route_handler:
async def __new__(cls, request): async def __new__(cls,
request,
):
kwargs = dict(request.match_info) kwargs = dict(request.match_info)
kwargs['request'] = request kwargs['request'] = request
kwargs['risotto_context'] = create_context(request) kwargs['risotto_context'] = create_context(request)
@ -96,11 +99,13 @@ async def handle(request):
print_exc() print_exc()
raise HTTPInternalServerError(reason=str(err)) raise HTTPInternalServerError(reason=str(err))
return Response(text=dumps({'response': text}), return Response(text=dumps({'response': text}),
content_type='application/json') content_type='application/json',
)
async def api(request, async def api(request,
risotto_context): risotto_context,
):
global TIRAMISU global TIRAMISU
if not TIRAMISU: if not TIRAMISU:
# check all URI that have an associated role # check all URI that have an associated role
@ -152,7 +157,8 @@ async def get_app(loop):
for version in versions: for version in versions:
api_route = {'function': api, api_route = {'function': api,
'version': version, 'version': version,
'path': f'/api/{version}'} 'path': f'/api/{version}',
}
extra_handler = type(api_route['path'], (extra_route_handler,), api_route) extra_handler = type(api_route['path'], (extra_route_handler,), api_route)
routes.append(get(api_route['path'], extra_handler)) routes.append(get(api_route['path'], extra_handler))
print(f' - {api_route["path"]} (http_get)') print(f' - {api_route["path"]} (http_get)')