def __call__(self, request): response = self.get_response(request) status = response.status_code if (status < 300 or status == 302) and HttpLogger.is_string_content_type( response['Content-Type']): HttpMessage.send(self.logger, request=request, response=response) # todo add timing details return response
def test_detects_string_content_types(): assert HttpLogger.is_string_content_type(None) is False assert HttpLogger.is_string_content_type("") is False assert HttpLogger.is_string_content_type(" ") is False assert HttpLogger.is_string_content_type("/") is False assert HttpLogger.is_string_content_type("application/") is False assert HttpLogger.is_string_content_type("json") is False assert HttpLogger.is_string_content_type("html") is False assert HttpLogger.is_string_content_type("xml") is False assert HttpLogger.is_string_content_type("application/json") is True assert HttpLogger.is_string_content_type("application/soap") is True assert HttpLogger.is_string_content_type("application/xml") is True assert HttpLogger.is_string_content_type("application/x-www-form-urlencoded") is True assert HttpLogger.is_string_content_type("text/html") is True assert HttpLogger.is_string_content_type("text/html; charset=utf-8") is True assert HttpLogger.is_string_content_type("text/plain") is True assert HttpLogger.is_string_content_type("text/plain123") is True assert HttpLogger.is_string_content_type("text/xml") is True assert HttpLogger.is_string_content_type("Text/XML") is True