Example #1
0
    def _create_error_response(self, request, response, exception, trace=None):
        """

        :param request: The HTTP request which triggered the exception
        :param response: The response (if any) we were processing and triggered
                         the exception
        :param exception: The exception instance
        :return: A mitmproxy response object ready to send to the flow
        """
        def replace_new_lines(in_str):
            return in_str.replace('\n', '<br/>')

        context = {'exception_message': str(exception),
                   'http_request': request.dump()}

        if trace is not None:
            context['traceback'] = replace_new_lines(trace)

        content = render('error.html', context)

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(500, content.encode('utf-8'), headers,
                                     request.get_uri(), request.get_uri(),
                                     msg='Server error')
        return http_response
Example #2
0
    def _create_error_response(self, request, response, exception, trace=None):
        """

        :param request: The HTTP request which triggered the exception
        :param response: The response (if any) we were processing and triggered
                         the exception
        :param exception: The exception instance
        :return: A mitmproxy response object ready to send to the flow
        """
        def replace_new_lines(in_str):
            return in_str.replace('\n', '<br/>')

        context = {'exception_message': str(exception),
                   'http_request': request.dump()}

        if trace is not None:
            context['traceback'] = replace_new_lines(trace)

        content = render('error.html', context)

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(500, content.encode('utf-8'), headers,
                                     request.get_uri(), request.get_uri(),
                                     msg='Server error')
        return http_response
Example #3
0
    def _create_terminate_response(self, http_response):
        content = render('spiderman_end.html', {})

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(200, content.encode('utf-8'), headers,
                                     http_response.get_uri(),
                                     http_response.get_uri(),
                                     msg='Ok')
        return http_response
Example #4
0
    def _create_terminate_response(self, http_response):
        content = render('spiderman_end.html', {})

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(200, content.encode('utf-8'), headers,
                                     http_response.get_uri(),
                                     http_response.get_uri(),
                                     msg='Ok')
        return http_response
Example #5
0
    def on_request_drop(self, http_request):
        """
        When the UI calls "drop request" we need to modify our queues

        :param http_request: The request to drop
        :return: None, simply queue a "Request drop HTTP response"
        """
        content = render("drop.html", {})

        headers = Headers((("Connection", "close"), ("Content-type", "text/html")))

        http_response = HTTPResponse(
            403, content.encode("utf-8"), headers, http_request.get_uri(), http_request.get_uri(), msg="Request drop"
        )

        self.parent_process.requests_already_modified.put(http_response)
Example #6
0
    def on_request_drop(self, http_request):
        """
        When the UI calls "drop request" we need to modify our queues

        :param http_request: The request to drop
        :return: None, simply queue a "Request drop HTTP response"
        """
        content = render('drop.html', {})

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(403,
                                     content.encode('utf-8'),
                                     headers,
                                     http_request.get_uri(),
                                     http_request.get_uri(),
                                     msg='Request drop')

        self.parent_process.requests_already_modified.put(http_response)
Example #7
0
    def on_request_drop(self, http_request):
        """
        When the UI calls "drop request" we need to modify our queues

        :param http_request: The request to drop
        :return: None, simply queue a "Request drop HTTP response"
        """
        content = render('drop.html', {})

        headers = Headers((
            ('Connection', 'close'),
            ('Content-type', 'text/html'),
        ))

        http_response = HTTPResponse(403,
                                     content.encode('utf-8'),
                                     headers,
                                     http_request.get_uri(),
                                     http_request.get_uri(),
                                     msg='Request drop')

        self.parent_process.requests_already_modified.put(http_response)