Ejemplo n.º 1
0
    def __init__(self, request, response, status, message=None, error=None):
        super(HTTPError, self).__init__(request, response,
                status, message=message, error=error)

        response.close = True

        self.request = request
        self.response = response
        self.status = status

        short, long = RESPONSES.get(status, ("???", "???",))
        self.message = message or short

        self.error = error
        if self.error is not None:
            self.etype, self.evalue, self.traceback = self.error
            traceback = ["ERROR: %s\n" % str(self.evalue)]
            traceback.extend(format_tb(self.traceback))
        else:
            self.etype, self.evalue, self.traceback = None, None, None
            traceback = []

        response.status = "%s %s" % (status, short)

        response.body = DEFAULT_ERROR_MESSAGE % {
            "status": "%s %s" % (status, short),
            "message": _escape(message) if message else "",
            "traceback": "".join(traceback),
            "version": SERVER_VERSION}
Ejemplo n.º 2
0
    def simple(self, sock, code, message=""):
        """Simple Response Events Handler

        Send a simple response.
        """

        short, long = RESPONSES.get(code, ("???", "???",))
        message = message or short

        response = wrappers.Response(sock)
        response.body = message
        response.status = "%s %s" % (code, message)

        if response.status[:3] == "413" and response.protocol == "HTTP/1.1":
            # Request Entity Too Large
            response.close = True
            response.headers.add_header("Connection", "close")

        self.push(Response(response), "response", self.channel)
Ejemplo n.º 3
0
    def simple(self, sock, code, message=""):
        """Simple Response Events Handler

        Send a simple response.
        """

        short, long = RESPONSES.get(code, (
            "???",
            "???",
        ))
        message = message or short

        response = wrappers.Response(sock)
        response.body = message
        response.status = "%s %s" % (code, message)

        if response.status[:3] == "413" and response.protocol == "HTTP/1.1":
            # Request Entity Too Large
            response.close = True
            response.headers.add_header("Connection", "close")

        self.push(Response(response), "response", self.channel)
Ejemplo n.º 4
0
    def __init__(self, request, response, status, message=None, error=None):
        super(HTTPError, self).__init__(request,
                                        response,
                                        status,
                                        message=message,
                                        error=error)

        response.close = True

        self.request = request
        self.response = response
        self.status = status

        short, long = RESPONSES.get(status, (
            "???",
            "???",
        ))
        self.message = message or short

        self.error = error
        if self.error is not None:
            self.etype, self.evalue, self.traceback = self.error
            traceback = ["ERROR: %s\n" % str(self.evalue)]
            traceback.extend(self.traceback)
        else:
            self.etype, self.evalue, self.traceback = None, None, None
            traceback = []

        response.status = "%s %s" % (status, short)

        response.body = DEFAULT_ERROR_MESSAGE % {
            "status": "%s %s" % (status, short),
            "message": _escape(message) if message else "",
            "traceback": "".join(traceback),
            "version": SERVER_VERSION
        }