Module onionr.httpapi.fdsafehandler

Source code
from gevent.pywsgi import WSGIServer, WSGIHandler
from gevent import Timeout
class FDSafeHandler(WSGIHandler):
    '''Our WSGI handler. Doesn't do much non-default except timeouts'''
    def handle(self):
        self.timeout = Timeout(120, Exception)
        self.timeout.start()
        try:
            WSGIHandler.handle(self)
        except Timeout as ex:
            if ex is self.timeout:
                pass
            else: 
                raise

Classes

class FDSafeHandler (sock, address, server, rfile=None)

Our WSGI handler. Doesn't do much non-default except timeouts

Source code
class FDSafeHandler(WSGIHandler):
    '''Our WSGI handler. Doesn't do much non-default except timeouts'''
    def handle(self):
        self.timeout = Timeout(120, Exception)
        self.timeout.start()
        try:
            WSGIHandler.handle(self)
        except Timeout as ex:
            if ex is self.timeout:
                pass
            else: 
                raise

Ancestors

  • gevent.pywsgi.WSGIHandler

Methods

def handle(self)

The main request handling method, called by the server.

This method runs a request handling loop, calling :meth:handle_one_request until all requests on the connection have been handled (that is, it implements keep-alive).

Source code
def handle(self):
    self.timeout = Timeout(120, Exception)
    self.timeout.start()
    try:
        WSGIHandler.handle(self)
    except Timeout as ex:
        if ex is self.timeout:
            pass
        else: 
            raise