4. Web Development
from twisted.internet import reactor
from twisted.web import resource, server
class Resource(resource.Resource):
isLeaf = True
users = 0
def render_GET(self, request):
self.users += 1
return "Welcome user number %d" % self.users
reactor.listenTCP(1080, server.Site(Resource()))
reactor.run()
5. Multi-protocol Servers (Classes)
from twisted.internet import reactor, protocol
from twisted.web import resource, server
class Counter(object):
count = 0
def add(self, number):
self.count += number
class ByteCount(protocol.Protocol):
def dataReceived(self, data):
self.factory.counter.add(len(data))
class Resource(resource.Resource):
isLeaf = True
counter = None
def render_GET(self, request):
return "Received %d bytes" % self.counter.count