'Dispatch the request to every HttpPlugin'

@profiled((lambda a, k: ('HTTP    %s' % a[1].path)))
def handle(self, context):

    if hasattr(context.session, 'appcontext'):
        self.context = context.session.appcontext
    else:
        self.context = manager.context
    if context.path.startswith('/ajenti:socket'):
        return context.fallthrough(self.io)
    if (not hasattr(self.context, 'http_handlers')):
        self.context.http_handlers = HttpPlugin.get_all()
    for instance in self.context.http_handlers:
        try:
            output = instance.handle(context)
        except Exception as e:
            return [self.respond_error(context, e)]
        if (output is not None):
            return output
    return context.fallthrough(self.invalid)
