mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 10:03:57 +03:00
Merge pull request #777 from glic3rinu/master
Break long headers on the browsable API
This commit is contained in:
commit
5b56639e7a
|
@ -44,6 +44,7 @@ You can determine your currently installed version using `pip freeze`:
|
|||
|
||||
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
|
||||
* URL hyperlinking in browseable API now handles more cases correctly.
|
||||
* Long HTTP headers in browsable API are broken in multiple lines when possible.
|
||||
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
|
||||
* Bugfix: OAuth should fail hard when invalid token used.
|
||||
* Bugfix: Fix serializer potentially returning `None` object for models that define `__bool__` or `__len__`.
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
</div>
|
||||
<div class="response-info">
|
||||
<pre class="prettyprint"><div class="meta nocode"><b>HTTP {{ response.status_code }} {{ response.status_text }}</b>{% autoescape off %}
|
||||
{% for key, val in response.items %}<b>{{ key }}:</b> <span class="lit">{{ val|urlize_quoted_links }}</span>
|
||||
{% for key, val in response.items %}<b>{{ key }}:</b> <span class="lit">{{ val|break_long_headers|urlize_quoted_links }}</span>
|
||||
{% endfor %}
|
||||
</div>{{ content|urlize_quoted_links }}</pre>{% endautoescape %}
|
||||
</div>
|
||||
|
|
|
@ -260,3 +260,14 @@ def urlize_quoted_links(text, trim_url_limit=None, nofollow=True, autoescape=Tru
|
|||
elif autoescape:
|
||||
words[i] = escape(word)
|
||||
return ''.join(words)
|
||||
|
||||
|
||||
@register.filter
|
||||
def break_long_headers(header):
|
||||
"""
|
||||
Breaks headers longer than 160 characters (~page length)
|
||||
when possible (are comma separated)
|
||||
"""
|
||||
if len(header) > 160 and ',' in header:
|
||||
header = mark_safe('<br> ' + ', <br>'.join(header.split(',')))
|
||||
return header
|
||||
|
|
Loading…
Reference in New Issue
Block a user