libraries/edge/writer/proxywriter.py (27 lines of code) (raw):
import logging
import requestresponder
from edge.httputility import HttpUtility
class ProxyWriter(requestresponder.RequestResponder):
def __init__(self, configFilePath):
super(ProxyWriter, self).__init__(configFilePath)
def get(self, requestHandler):
super(ProxyWriter, self).get(requestHandler)
try:
httpUtility = HttpUtility()
result = httpUtility.getResponse(self._generateUrl(requestHandler), self.onResponse)
except BaseException as exception:
raise exception
def onResponse(self, response):
if response.error:
self.requestHandler.set_status(404)
self.requestHandler.write(str(response.error))
self.requestHandler.finish()
else:
for name, value in response.headers.items():
logging.debug('header: '+name+':'+value)
self.requestHandler.set_header(name, value)
self.requestHandler.set_header('Access-Control-Allow-Origin', '*')
self.requestHandler.write(response.body)
self.requestHandler.finish()
def _generateUrl(self, requestHandler):
pass