http.py (1937B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\script\net\http.py 2 import cherrypy 3 from carbon.common.script.net import machoNet 4 from eveprefs import prefs 5 6 def Referer(): 7 request = cherrypy.request 8 return request.headers.get('Referer', '') 9 10 11 def Host(): 12 request = cherrypy.request 13 host = request.headers.get('X-Forwarded-Host', '') 14 if not host: 15 host = request.headers.get('Host', '') 16 return host 17 18 19 def AddHeader(headerKey, headerValue): 20 response = cherrypy.response 21 response.headers[headerKey] = headerValue 22 23 24 def ESPUrl(session, polarisID = None): 25 if machoNet.mode == 'proxy': 26 if polarisID is None: 27 polarisID = session.ConnectToSolServerService('DB2').CallProc('zcluster.Nodes_PolarisID') 28 elif polarisID is None: 29 polarisID = sm.GetService('DB2').CallProc('zcluster.Nodes_PolarisID') 30 if cherrypy.request.app is None: 31 if sm.IsServiceRunning('tcpRawProxyService'): 32 tcpproxy = sm.services['tcpRawProxyService'] 33 else: 34 proxyID = sm.services['machoNet'].GetConnectedProxyNodes()[0] 35 tcpproxy = sm.StartService('debug').session.ConnectToRemoteService('tcpRawProxyService', proxyID) 36 host, ports = tcpproxy.GetESPTunnelingAddressByNodeID() 37 port = ports.get(polarisID) 38 return 'http://%s:%s' % (host, port) 39 machoNetSvc = session.ConnectToProxyServerService('machoNet', polarisID) 40 transport_key = 'tcp:raw:http2' if prefs.GetValue('httpServerMode', 'ccp').lower() == 'ccp' else 'tcp:raw:http' 41 host, port = machoNetSvc.GetConnectionProperties()['internaladdress'].split(':') 42 refHost = Host().split(':')[0] 43 if refHost == 'localhost': 44 host = refHost 45 sub_number = 1 if cherrypy.request.app else 2 46 port = int(port) + machoNet.offsetMap[machoNet.mode][transport_key] - sub_number 47 return 'http://%s:%s' % (host, port)