summaryrefslogtreecommitdiff
path: root/django/http
diff options
context:
space:
mode:
authorKeryn Knight <keryn@kerynknight.com>2015-07-13 15:32:09 +0100
committerTim Graham <timograham@gmail.com>2015-07-15 09:01:25 -0400
commitc96f11257baf43188ff9daeddab3221992925c85 (patch)
treea984d75839ffc6d174c1dee5d15eade726011fce /django/http
parentb356dc4e07915521db1e768d6357e3d982877a6e (diff)
Refs #24121 -- Added meaningful repr() to HttpResponse and subclasses.
Diffstat (limited to 'django/http')
-rw-r--r--django/http/response.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/django/http/response.py b/django/http/response.py
index c8d693085f..aece5ec5a6 100644
--- a/django/http/response.py
+++ b/django/http/response.py
@@ -285,6 +285,13 @@ class HttpResponse(HttpResponseBase):
# Content is a bytestring. See the `content` property methods.
self.content = content
+ def __repr__(self):
+ return '<%(cls)s status_code=%(status_code)d, "%(content_type)s">' % {
+ 'cls': self.__class__.__name__,
+ 'status_code': self.status_code,
+ 'content_type': self['Content-Type'],
+ }
+
def serialize(self):
"""Full HTTP message, including headers, as a bytestring."""
return self.serialize_headers() + b'\r\n\r\n' + self.content
@@ -403,6 +410,14 @@ class HttpResponseRedirectBase(HttpResponse):
url = property(lambda self: self['Location'])
+ def __repr__(self):
+ return '<%(cls)s status_code=%(status_code)d, "%(content_type)s", url="%(url)s">' % {
+ 'cls': self.__class__.__name__,
+ 'status_code': self.status_code,
+ 'content_type': self['Content-Type'],
+ 'url': self.url,
+ }
+
class HttpResponseRedirect(HttpResponseRedirectBase):
status_code = 302
@@ -445,6 +460,14 @@ class HttpResponseNotAllowed(HttpResponse):
super(HttpResponseNotAllowed, self).__init__(*args, **kwargs)
self['Allow'] = ', '.join(permitted_methods)
+ def __repr__(self):
+ return '<%(cls)s [%(methods)s] status_code=%(status_code)d, "%(content_type)s">' % {
+ 'cls': self.__class__.__name__,
+ 'status_code': self.status_code,
+ 'content_type': self['Content-Type'],
+ 'methods': self['Allow'],
+ }
+
class HttpResponseGone(HttpResponse):
status_code = 410