def __new__(cls, application, request, **kwargs):
        # http://stackoverflow.com/questions/3209233/how-to-replace-an-instance-in-init-with-a-different-object
        # Based on upgrade header, websocket request handler must be used
        try:
            if request.headers['Upgrade'].lower() == 'websocket':
                return CustomWebSocketHandler(application, request, **kwargs)
        except __HOLE__:
            pass
        return tornado.web.RequestHandler.__new__(cls, application, request, **kwargs)
dataset/ETHPy150Open owtf/owtf/framework/http/proxy/proxy.py/ProxyHandler.__new__