Python twisted.protocols.policies.WrappingFactory() Examples
The following are 30
code examples of twisted.protocols.policies.WrappingFactory().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.protocols.policies
, or try the search function
.
Example #1
Source File: loopback.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def loopbackUNIX(server, client, noisy=True): """Run session between server and client protocol instances over UNIX socket.""" path = tempfile.mktemp() from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenUNIX(path, f) clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectUNIX(path, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #2
Source File: test_policies.py From learn_python3_spider with MIT License | 6 votes |
def test_breakReferenceCycle(self): """ L{policies.ProtocolWrapper.connectionLost} sets C{wrappedProtocol} to C{None} in order to break reference cycle between wrapper and wrapped protocols. :return: """ wrapper = policies.ProtocolWrapper(policies.WrappingFactory(Server()), protocol.Protocol()) transport = StringTransportWithDisconnection() transport.protocol = wrapper wrapper.makeConnection(transport) self.assertIsNotNone(wrapper.wrappedProtocol) transport.loseConnection() self.assertIsNone(wrapper.wrappedProtocol)
Example #3
Source File: loopback.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def loopbackUNIX(server, client, noisy=True): """Run session between server and client protocol instances over UNIX socket.""" path = tempfile.mktemp() from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenUNIX(path, f) clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectUNIX(path, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #4
Source File: loopback.py From learn_python3_spider with MIT License | 6 votes |
def loopbackUNIX(server, client, noisy=True): """Run session between server and client protocol instances over UNIX socket.""" path = tempfile.mktemp() from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenUNIX(path, f) clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectUNIX(path, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #5
Source File: loopback.py From python-for-android with Apache License 2.0 | 6 votes |
def loopbackUNIX(server, client, noisy=True): """Run session between server and client protocol instances over UNIX socket.""" path = tempfile.mktemp() from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenUNIX(path, f) clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectUNIX(path, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #6
Source File: test_tcp.py From python-for-android with Apache License 2.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.deferred = defer.Deferred()
Example #7
Source File: test_policies.py From learn_python3_spider with MIT License | 5 votes |
def test_startedConnecting(self): """ L{policies.WrappingFactory.startedConnecting} calls C{startedConnecting} on the underlying factory. """ result = [] class Factory(object): def startedConnecting(self, connector): result.append(connector) wrapper = policies.WrappingFactory(Factory()) connector = object() wrapper.startedConnecting(connector) self.assertEqual(result, [connector])
Example #8
Source File: test_policies.py From learn_python3_spider with MIT License | 5 votes |
def test_clientConnectionLost(self): """ L{policies.WrappingFactory.clientConnectionLost} calls C{clientConnectionLost} on the underlying factory. """ result = [] class Factory(object): def clientConnectionLost(self, connector, reason): result.append((connector, reason)) wrapper = policies.WrappingFactory(Factory()) connector = object() reason = object() wrapper.clientConnectionLost(connector, reason) self.assertEqual(result, [(connector, reason)])
Example #9
Source File: test_policies.py From learn_python3_spider with MIT License | 5 votes |
def test_clientConnectionFailed(self): """ L{policies.WrappingFactory.clientConnectionFailed} calls C{clientConnectionFailed} on the underlying factory. """ result = [] class Factory(object): def clientConnectionFailed(self, connector, reason): result.append((connector, reason)) wrapper = policies.WrappingFactory(Factory()) connector = object() reason = object() wrapper.clientConnectionFailed(connector, reason) self.assertEqual(result, [(connector, reason)])
Example #10
Source File: test_policies.py From learn_python3_spider with MIT License | 5 votes |
def startFactory(self): policies.WrappingFactory.startFactory(self) self.deferred.callback(None)
Example #11
Source File: test_pb.py From learn_python3_spider with MIT License | 5 votes |
def setUp(self): self.realm = TestRealm() self.realm.perspectiveFactory = NonSubclassingPerspective self.portal = portal.Portal(self.realm) self.checker = checkers.InMemoryUsernamePasswordDatabaseDontUse() self.checker.addUser(b"user", b"pass") self.portal.registerChecker(self.checker) self.factory = WrappingFactory(pb.PBServerFactory(self.portal)) self.port = reactor.listenTCP(0, self.factory, interface="127.0.0.1") self.addCleanup(self.port.stopListening) self.portno = self.port.getHost().port
Example #12
Source File: test_webclient.py From python-for-android with Apache License 2.0 | 5 votes |
def setUp(self): self.cleanupServerConnections = 0 name = self.mktemp() os.mkdir(name) FilePath(name).child("file").setContent("0123456789") r = static.File(name) r.putChild("redirect", util.Redirect("/file")) self.infiniteRedirectResource = CountingRedirect("/infiniteRedirect") r.putChild("infiniteRedirect", self.infiniteRedirectResource) r.putChild("wait", ForeverTakingResource()) r.putChild("write-then-wait", ForeverTakingResource(write=True)) r.putChild("error", ErrorResource()) r.putChild("nolength", NoLengthResource()) r.putChild("host", HostHeaderResource()) r.putChild("payload", PayloadResource()) r.putChild("broken", BrokenDownloadResource()) r.putChild("cookiemirror", CookieMirrorResource()) miscasedHead = static.Data("miscased-head GET response content", "major/minor") miscasedHead.render_Head = lambda request: "miscased-head content" r.putChild("miscased-head", miscasedHead) self.extendedRedirect = ExtendedRedirect('/extendedRedirect') r.putChild("extendedRedirect", self.extendedRedirect) self.site = server.Site(r, timeout=None) self.wrapper = WrappingFactory(self.site) self.port = self._listen(self.wrapper) self.portno = self.port.getHost().port
Example #13
Source File: loopback.py From python-for-android with Apache License 2.0 | 5 votes |
def loopbackTCP(server, client, port=0, noisy=True): """Run session between server and client protocol instances over TCP.""" from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenTCP(port, f, interface='127.0.0.1') clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectTCP('127.0.0.1', serverPort.getHost().port, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #14
Source File: test_tcp.py From python-for-android with Apache License 2.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.onConnect = defer.Deferred() self.onDisconnect = defer.Deferred()
Example #15
Source File: loopback.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def loopbackTCP(server, client, port=0, noisy=True): """Run session between server and client protocol instances over TCP.""" from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenTCP(port, f, interface='127.0.0.1') clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectTCP('127.0.0.1', serverPort.getHost().port, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #16
Source File: test_pb.py From python-for-android with Apache License 2.0 | 5 votes |
def setUp(self): self.realm = TestRealm() self.realm.perspectiveFactory = NonSubclassingPerspective self.portal = portal.Portal(self.realm) self.checker = checkers.InMemoryUsernamePasswordDatabaseDontUse() self.checker.addUser("user", "pass") self.portal.registerChecker(self.checker) self.factory = WrappingFactory(pb.PBServerFactory(self.portal)) self.port = reactor.listenTCP(0, self.factory, interface="127.0.0.1") self.addCleanup(self.port.stopListening) self.portno = self.port.getHost().port
Example #17
Source File: test_policies.py From python-for-android with Apache License 2.0 | 5 votes |
def test_protocolFactoryAttribute(self): """ Make sure protocol.factory is the wrapped factory, not the wrapping factory. """ f = Server() wf = policies.WrappingFactory(f) p = wf.buildProtocol(address.IPv4Address('TCP', '127.0.0.1', 35)) self.assertIdentical(p.wrappedProtocol.factory, f)
Example #18
Source File: test_policies.py From python-for-android with Apache License 2.0 | 5 votes |
def test_transportInterfaces(self): """ The transport wrapper passed to the wrapped protocol's C{makeConnection} provides the same interfaces as are provided by the original transport. """ class IStubTransport(Interface): pass class StubTransport: implements(IStubTransport) # Looking up what ProtocolWrapper implements also mutates the class. # It adds __implemented__ and __providedBy__ attributes to it. These # prevent __getattr__ from causing the IStubTransport.providedBy call # below from returning True. If, by accident, nothing else causes # these attributes to be added to ProtocolWrapper, the test will pass, # but the interface will only be provided until something does trigger # their addition. So we just trigger it right now to be sure. implementedBy(policies.ProtocolWrapper) proto = protocol.Protocol() wrapper = policies.ProtocolWrapper(policies.WrappingFactory(None), proto) wrapper.makeConnection(StubTransport()) self.assertTrue(IStubTransport.providedBy(proto.transport))
Example #19
Source File: test_policies.py From python-for-android with Apache License 2.0 | 5 votes |
def startFactory(self): policies.WrappingFactory.startFactory(self) self.deferred.callback(None)
Example #20
Source File: loopback.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def loopbackTCP(server, client, port=0, noisy=True): """Run session between server and client protocol instances over TCP.""" from twisted.internet import reactor f = policies.WrappingFactory(protocol.Factory()) serverWrapper = _FireOnClose(f, server) f.noisy = noisy f.buildProtocol = lambda addr: serverWrapper serverPort = reactor.listenTCP(port, f, interface='127.0.0.1') clientF = LoopbackClientFactory(client) clientF.noisy = noisy reactor.connectTCP('127.0.0.1', serverPort.getHost().port, clientF) d = clientF.deferred d.addCallback(lambda x: serverWrapper.deferred) d.addCallback(lambda x: serverPort.stopListening()) return d
Example #21
Source File: test_tcp.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def __init__(self, f): self.deferred = defer.Deferred() policies.WrappingFactory.__init__(self, f)
Example #22
Source File: test_tcp.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.onConnect = defer.Deferred() self.onDisconnect = defer.Deferred()
Example #23
Source File: test_tcp.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.deferred = defer.Deferred()
Example #24
Source File: test_policies.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def startFactory(self): policies.WrappingFactory.startFactory(self) self.deferred.callback(None)
Example #25
Source File: test_policies.py From learn_python3_spider with MIT License | 5 votes |
def test_protocolLogPrefix(self): """ L{ProtocolWrapper.logPrefix} is customized to mention both the original protocol and the wrapper. """ server = Server() factory = policies.WrappingFactory(server) protocol = factory.buildProtocol( address.IPv4Address('TCP', '127.0.0.1', 35)) self.assertEqual("EchoProtocol (ProtocolWrapper)", protocol.logPrefix())
Example #26
Source File: test_webclient.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def setUp(self): self.agent = None # for twisted.web.client.Agent test self.cleanupServerConnections = 0 r = resource.Resource() r.putChild(b"file", Data(b"0123456789", "text/html")) r.putChild(b"redirect", Redirect(b"/file")) self.infiniteRedirectResource = CountingRedirect(b"/infiniteRedirect") r.putChild(b"infiniteRedirect", self.infiniteRedirectResource) r.putChild(b"wait", ForeverTakingResource()) r.putChild(b"write-then-wait", ForeverTakingResource(write=True)) r.putChild(b"never-read", ForeverTakingNoReadingResource()) r.putChild(b"error", ErrorResource()) r.putChild(b"nolength", NoLengthResource()) r.putChild(b"host", HostHeaderResource()) r.putChild(b"payload", PayloadResource()) r.putChild(b"broken", BrokenDownloadResource()) r.putChild(b"cookiemirror", CookieMirrorResource()) r.putChild(b'delay1', DelayResource(1)) r.putChild(b'delay2', DelayResource(2)) self.afterFoundGetCounter = CountingResource() r.putChild(b"afterFoundGetCounter", self.afterFoundGetCounter) r.putChild(b"afterFoundGetRedirect", Redirect(b"/afterFoundGetCounter")) miscasedHead = Data(b"miscased-head GET response content", "major/minor") miscasedHead.render_Head = lambda request: b"miscased-head content" r.putChild(b"miscased-head", miscasedHead) self.extendedRedirect = ExtendedRedirect(b'/extendedRedirect') r.putChild(b"extendedRedirect", self.extendedRedirect) self.site = server.Site(r, timeout=None) self.wrapper = WrappingFactory(self.site) self.port = self._listen(self.wrapper) self.portno = self.port.getHost().port
Example #27
Source File: test_tcp.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.onConnect = defer.Deferred() self.onDisconnect = defer.Deferred()
Example #28
Source File: test_tcp.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def __init__(self, wrappedFactory): policies.WrappingFactory.__init__(self, wrappedFactory) self.deferred = defer.Deferred()
Example #29
Source File: test_policies.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_transportInterfaces(self): """ The transport wrapper passed to the wrapped protocol's C{makeConnection} provides the same interfaces as are provided by the original transport. """ class IStubTransport(Interface): pass @implementer(IStubTransport) class StubTransport: pass # Looking up what ProtocolWrapper implements also mutates the class. # It adds __implemented__ and __providedBy__ attributes to it. These # prevent __getattr__ from causing the IStubTransport.providedBy call # below from returning True. If, by accident, nothing else causes # these attributes to be added to ProtocolWrapper, the test will pass, # but the interface will only be provided until something does trigger # their addition. So we just trigger it right now to be sure. implementedBy(policies.ProtocolWrapper) proto = protocol.Protocol() wrapper = policies.ProtocolWrapper(policies.WrappingFactory(None), proto) wrapper.makeConnection(StubTransport()) self.assertTrue(IStubTransport.providedBy(proto.transport))
Example #30
Source File: test_policies.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_factoryLogPrefix(self): """ L{WrappingFactory.logPrefix} is customized to mention both the original factory and the wrapping factory. """ server = Server() factory = policies.WrappingFactory(server) self.assertEqual("Server (WrappingFactory)", factory.logPrefix())