11import asyncio
22import sys
3- from urllib .parse import urlsplit
43
54from aiohttp .web import Response , WebSocketResponse
5+ from aiohttp .web_request import Request
66
77
88def create_route (app , engineio_server , engineio_endpoint ):
@@ -18,35 +18,31 @@ def create_route(app, engineio_server, engineio_endpoint):
1818 engineio_server .handle_request )
1919
2020
21- def translate_request (request ):
21+ def translate_request (request : Request ):
2222 """This function takes the arguments passed to the request handler and
2323 uses them to generate a WSGI compatible environ dictionary.
2424 """
25- message = request ._message
26- payload = request ._payload
27-
28- uri_parts = urlsplit (message .path )
2925 environ = {
30- 'wsgi.input' : payload ,
26+ 'wsgi.input' : request . content ,
3127 'wsgi.errors' : sys .stderr ,
3228 'wsgi.version' : (1 , 0 ),
3329 'wsgi.async' : True ,
3430 'wsgi.multithread' : False ,
3531 'wsgi.multiprocess' : False ,
3632 'wsgi.run_once' : False ,
3733 'SERVER_SOFTWARE' : 'aiohttp' ,
38- 'REQUEST_METHOD' : message .method ,
39- 'QUERY_STRING' : uri_parts . query or '' ,
40- 'RAW_URI' : message . path ,
41- 'SERVER_PROTOCOL' : 'HTTP/%s.%s' % message .version ,
34+ 'REQUEST_METHOD' : request .method ,
35+ 'QUERY_STRING' : request . query_string or '' ,
36+ 'RAW_URI' : request . path_qs ,
37+ 'SERVER_PROTOCOL' : 'HTTP/%s.%s' % request .version ,
4238 'REMOTE_ADDR' : '127.0.0.1' ,
4339 'REMOTE_PORT' : '0' ,
4440 'SERVER_NAME' : 'aiohttp' ,
4541 'SERVER_PORT' : '0' ,
4642 'aiohttp.request' : request
4743 }
4844
49- for hdr_name , hdr_value in message .headers .items ():
45+ for hdr_name , hdr_value in request .headers .items ():
5046 hdr_name = hdr_name .upper ()
5147 if hdr_name == 'CONTENT-TYPE' :
5248 environ ['CONTENT_TYPE' ] = hdr_value
@@ -63,9 +59,7 @@ def translate_request(request):
6359
6460 environ ['wsgi.url_scheme' ] = environ .get ('HTTP_X_FORWARDED_PROTO' , 'http' )
6561
66- path_info = uri_parts .path
67-
68- environ ['PATH_INFO' ] = path_info
62+ environ ['PATH_INFO' ] = request .path
6963 environ ['SCRIPT_NAME' ] = ''
7064
7165 return environ
0 commit comments