Skip to content

Instantly share code, notes, and snippets.

@Parth-Vader
Created August 25, 2017 18:19
Show Gist options
  • Save Parth-Vader/0be416e2d634ba985ab31d73e4fddc56 to your computer and use it in GitHub Desktop.
Save Parth-Vader/0be416e2d634ba985ab31d73e4fddc56 to your computer and use it in GitHub Desktop.
from twisted.web.server import Site, NOT_DONE_YET
from twisted.web.resource import Resource
from twisted.internet import reactor, endpoints
counter = 0
import time
class Home(Resource):
isLeaf = True
def __init__(self):
self.fname = ""
def _delayedRender(self, request):
with open(self.fname) as f:
s = f.read()
request.write(s)
request.finish()
#return s
def _responseFailed(self, err, call):
call.cancel()
def render_GET(self, request):
global counter
path = "/var/www/html/books.toscrape.com/"
filepath = '/'.join(request.postpath)
fname = path + filepath
self.fname = fname
call = reactor.callLater(0.05, self._delayedRender, request)
request.notifyFinish().addErrback(self._responseFailed, call)
return NOT_DONE_YET
resource = Home()
factory = Site(resource)
endpoint = endpoints.TCP4ServerEndpoint(reactor, 8880, interface='0.0.0.0')
endpoint.listen(factory)
reactor.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment