twistedその2
ただのproxy。
from twisted.web import http, proxy from twisted.internet import reactor from twisted.python import log if __name__=="__main__": import sys log.startLogging(sys.stdout) f=http.HTTPFactory() f.protocol=proxy.Proxy reactor.listenTCP(10080, f) reactor.run()
前より簡単になってRequestを継承したクラスが消滅した。proxy.Proxy(http.HTTPChannel)がrequestFactoryとしてProxyRequestを保持しているからそのまま利用できるわけです。
+-------+ |reactor| +-------+---------+ +-----------+ +---------+ +10080 HTTPFactory|->|HTTPChannel|->|MyRequest| +-----------------+ +-----------+ +---------+-------------+ A |process->write("Hello")| | +-----------------------+ +-------+ |browser| +-------+
が
+-------+ |reactor| +-------+---------+ +-----+ +------------+ +10080 HTTPFactory|->|Proxy|->|ProxyRequest| +-----------------+ +-----+ +------------+---------------------+ A |process-> ProxyClientFactory| | +------------------V---------++ +-------+ |ProxyClient urlから取ってくる| |browser| +-----------------------------+ +-------+
となった。たぶん