mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-10-30 23:47:53 +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