mirror of
https://github.com/sprockets/sprockets.mixins.http.git
synced 2024-11-15 03:00:29 +00:00
commit
b3b06e5f99
2 changed files with 20 additions and 0 deletions
|
@ -278,6 +278,8 @@ class HTTPClientMixin(object):
|
||||||
"""
|
"""
|
||||||
if not response.body:
|
if not response.body:
|
||||||
return None
|
return None
|
||||||
|
if 'Content-Type' not in response.headers:
|
||||||
|
return response.body
|
||||||
try:
|
try:
|
||||||
content_type = algorithms.select_content_type(
|
content_type = algorithms.select_content_type(
|
||||||
[headers.parse_content_type(response.headers['Content-Type'])],
|
[headers.parse_content_type(response.headers['Content-Type'])],
|
||||||
|
|
18
tests.py
18
tests.py
|
@ -1,6 +1,9 @@
|
||||||
|
import io
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from tornado import httpclient, httputil, testing, web
|
from tornado import httpclient, httputil, testing, web
|
||||||
|
@ -413,3 +416,18 @@ class MixinTestCase(testing.AsyncHTTPTestCase):
|
||||||
client = httpclient.AsyncHTTPClient()
|
client = httpclient.AsyncHTTPClient()
|
||||||
self.assertEqual(client.max_clients, 25)
|
self.assertEqual(client.max_clients, 25)
|
||||||
|
|
||||||
|
@testing.gen_test()
|
||||||
|
@unittest.skipUnless(sys.version_info >= (3, ),
|
||||||
|
'StringIO requires Python 3')
|
||||||
|
def test_missing_content_type(self):
|
||||||
|
# Craft a response that lacks a Content-Type header.
|
||||||
|
request = httpclient.HTTPRequest(
|
||||||
|
self.get_url('/test?foo=bar&status_code=200'))
|
||||||
|
response = httpclient.HTTPResponse(
|
||||||
|
request, code=200, headers={},
|
||||||
|
buffer=io.StringIO('Do not try to deserialize me.'))
|
||||||
|
# Try to deserialize that response. It should not raise an exception.
|
||||||
|
try:
|
||||||
|
response_body = self.mixin._http_resp_deserialize(response)
|
||||||
|
except KeyError:
|
||||||
|
self.fail('http_fetch raised KeyError!')
|
||||||
|
|
Loading…
Reference in a new issue