1
# Read username, output from factory interfacing to web, drop connections
3
from twisted.internet import protocol, reactor, defer, utils
4
from twisted.protocols import basic
5
from twisted.web import client
7
class FingerProtocol(basic.LineReceiver):
8
def lineReceived(self, user):
9
d = self.factory.getUser(user)
12
return 'Internal error in server'
15
def writeResponse(message):
16
self.transport.write(message + '\r\n')
17
self.transport.loseConnection()
18
d.addCallback(writeResponse)
20
class FingerFactory(protocol.ServerFactory):
21
protocol = FingerProtocol
23
def __init__(self, prefix):
26
def getUser(self, user):
27
return client.getPage(self.prefix+user)
29
reactor.listenTCP(1079, FingerFactory(prefix='http://livejournal.com/~'))