Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
22f22517
Commit
22f22517
authored
Feb 28, 2014
by
Tom Christie
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1437 from Keats/master
Display the media type of the API response on the browsable API
parents
22576013
6cd0394e
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
1 deletions
+22
-1
rest_framework/renderers.py
+9
-0
rest_framework/templates/rest_framework/base.html
+1
-1
rest_framework/tests/test_renderers.py
+12
-0
No files found.
rest_framework/renderers.py
View file @
22f22517
...
...
@@ -544,6 +544,14 @@ class BrowsableAPIRenderer(BaseRenderer):
raw_data_patch_form
=
self
.
get_raw_data_form
(
view
,
'PATCH'
,
request
)
raw_data_put_or_patch_form
=
raw_data_put_form
or
raw_data_patch_form
response_headers
=
dict
(
response
.
items
())
renderer_content_type
=
''
if
renderer
:
renderer_content_type
=
'
%
s'
%
renderer
.
media_type
if
renderer
.
charset
:
renderer_content_type
+=
' ;
%
s'
%
renderer
.
charset
response_headers
[
'Content-Type'
]
=
renderer_content_type
context
=
{
'content'
:
self
.
get_content
(
renderer
,
data
,
accepted_media_type
,
renderer_context
),
'view'
:
view
,
...
...
@@ -555,6 +563,7 @@ class BrowsableAPIRenderer(BaseRenderer):
'breadcrumblist'
:
self
.
get_breadcrumbs
(
request
),
'allowed_methods'
:
view
.
allowed_methods
,
'available_formats'
:
[
renderer
.
format
for
renderer
in
view
.
renderer_classes
],
'response_headers'
:
response_headers
,
'put_form'
:
self
.
get_rendered_html_form
(
view
,
'PUT'
,
request
),
'post_form'
:
self
.
get_rendered_html_form
(
view
,
'POST'
,
request
),
...
...
rest_framework/templates/rest_framework/base.html
View file @
22f22517
...
...
@@ -118,7 +118,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|break_long_headers|urlize_quoted_links }}
</span>
{% for key, val in response
_headers
.items %}
<b>
{{ key }}:
</b>
<span
class=
"lit"
>
{{ val|break_long_headers|urlize_quoted_links }}
</span>
{% endfor %}
</div>
{{ content|urlize_quoted_links }}
</pre>
{% endautoescape %}
</div>
...
...
rest_framework/tests/test_renderers.py
View file @
22f22517
...
...
@@ -256,6 +256,18 @@ class RendererEndToEndTests(TestCase):
self
.
assertEqual
(
resp
.
get
(
'Content-Type'
,
None
),
None
)
self
.
assertEqual
(
resp
.
status_code
,
status
.
HTTP_204_NO_CONTENT
)
def
test_contains_headers_of_api_response
(
self
):
"""
Issue #1437
Test we display the headers of the API response and not those from the
HTML response
"""
resp
=
self
.
client
.
get
(
'/html1'
)
self
.
assertContains
(
resp
,
'>GET, HEAD, OPTIONS<'
)
self
.
assertContains
(
resp
,
'>application/json<'
)
self
.
assertNotContains
(
resp
,
'>text/html; charset=utf-8<'
)
_flat_repr
=
'{"foo": ["bar", "baz"]}'
_indented_repr
=
'{
\n
"foo": [
\n
"bar",
\n
"baz"
\n
]
\n
}'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment