[Twisted-web] web proxy with twistd
Andreas De Stefani
andreas.destefani at ucd.ie
Wed Jul 20 10:08:23 MDT 2005
Hello twisted programmers!
i was trying to write a proxy which allows me to access twisted and
nevow websites on a local development server infrastructure to which i
dont have direct access (the proxy sits on the gateway).
It works fine if i access external websites but it fails for homebrewed
twisted websites and i always get a
No Such Resource File not found Error (the websites are running on port
8080, 8081 ... but don't think thats the reason?! )
I might do somethin wrong in my proxy i suppose, here is my code
proxy.py:
from twisted.internet import protocol
from twisted.internet import reactor
from twisted.protocols import http
from twisted.web import proxy, server, resource
class ReverseProxyResource(resource.Resource):
def getChild(self, path, request):
return self
def render(self, request):
d = request.received_headers.get('destination')
hp = request.received_headers['host']
if ':' in hp:
host, port = hp.split(':')
port = int(port)
else:
host = hp
port = 80
print 'forwarding to: ' + host + ' port ' + str(port)
clientFactory = proxy.ProxyClientFactory(request.method,
request.uri,
request.clientproto,
request.getAllHeaders(),
request.content.read(),
request)
reactor.connectTCP(host, port, clientFactory)
return server.NOT_DONE_YET
site = server.Site(ReverseProxyResource())
reactor.listenTCP(8484, site)
reactor.run()
Thanks for your help!
Andy
More information about the Twisted-web
mailing list