wsgi.py (1661B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\beeline\middleware\wsgi.py 2 from beeline.propagation import Request 3 4 class WSGIRequest(Request): 5 6 def __init__(self, mwname, environ): 7 self._mwname = mwname 8 self._environ = environ 9 10 def header(self, key): 11 lookup_key = 'HTTP_' + key.upper().replace('-', '_') 12 return self._environ.get(lookup_key) 13 14 def method(self): 15 return self._environ.get('REQUEST_METHOD') 16 17 def scheme(self): 18 return self._environ.get('wsgi.url_scheme') 19 20 def host(self): 21 return self._environ.get('HTTP_HOST') 22 23 def path(self): 24 return self._environ.get('PATH_INFO') 25 26 def query(self): 27 return self._environ.get('QUERY_STRING') 28 29 def middleware_request(self): 30 return self._environ 31 32 def request_context(self): 33 request_method = self._environ.get('REQUEST_METHOD') 34 if request_method: 35 trace_name = '%s_http_%s' % (self._mwname, request_method.lower()) 36 else: 37 trace_name = '%s_http' % self._mwname 38 return {'name': trace_name, 39 'type': 'http_server', 40 'request.host': self._environ.get('HTTP_HOST'), 41 'request.method': request_method, 42 'request.path': self._environ.get('PATH_INFO'), 43 'request.remote_addr': self._environ.get('REMOTE_ADDR'), 44 'request.content_length': self._environ.get('CONTENT_LENGTH', 0), 45 'request.user_agent': self._environ.get('HTTP_USER_AGENT'), 46 'request.scheme': self._environ.get('wsgi.url_scheme'), 47 'request.query': self._environ.get('QUERY_STRING')}