Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9342376
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
View Options
diff --git a/swh/core/api/asynchronous.py b/swh/core/api/asynchronous.py
index 7c717c8..967c994 100644
--- a/swh/core/api/asynchronous.py
+++ b/swh/core/api/asynchronous.py
@@ -1,57 +1,53 @@
import aiohttp.web
-import asyncio
import json
import logging
import multidict
import pickle
import sys
import traceback
from .serializers import msgpack_dumps, msgpack_loads, SWHJSONDecoder
def encode_data_server(data, **kwargs):
return aiohttp.web.Response(
body=msgpack_dumps(data),
headers=multidict.MultiDict({'Content-Type': 'application/x-msgpack'}),
**kwargs
)
-@asyncio.coroutine
-def decode_request(request):
+async def decode_request(request):
content_type = request.headers.get('Content-Type')
- data = yield from request.read()
+ data = await request.read()
if not data:
return {}
if content_type == 'application/x-msgpack':
r = msgpack_loads(data)
elif content_type == 'application/json':
r = json.loads(data, cls=SWHJSONDecoder)
else:
raise ValueError('Wrong content type `%s` for API request'
% content_type)
return r
-@asyncio.coroutine
-def error_middleware(app, handler):
- @asyncio.coroutine
- def middleware_handler(request):
+async def error_middleware(app, handler):
+ async def middleware_handler(request):
try:
- return (yield from handler(request))
+ return (await handler(request))
except Exception as e:
if isinstance(e, aiohttp.web.HTTPException):
raise
logging.exception(e)
exception = traceback.format_exception(*sys.exc_info())
res = {'exception': exception,
'exception_pickled': pickle.dumps(e)}
return encode_data_server(res, status=500)
return middleware_handler
class SWHRemoteAPI(aiohttp.web.Application):
def __init__(self, *args, middlewares=(), **kwargs):
middlewares = (error_middleware,) + middlewares
super().__init__(*args, middlewares=middlewares, **kwargs)
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Fri, Jul 4, 12:40 PM (2 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3293955
Attached To
rDCORE Foundations and core functionalities
Event Timeline
Log In to Comment