Merge pull request #197 from r0fls/178
convert header values to strings
This commit is contained in:
commit
3ada6f358c
|
@ -103,10 +103,14 @@ class HTTPResponse:
|
||||||
|
|
||||||
headers = b''
|
headers = b''
|
||||||
if self.headers:
|
if self.headers:
|
||||||
headers = b''.join(
|
for name, value in self.headers.items():
|
||||||
b'%b: %b\r\n' % (name.encode(), value.encode('utf-8'))
|
try:
|
||||||
for name, value in self.headers.items()
|
headers += (
|
||||||
)
|
b'%b: %b\r\n' % (name.encode(), value.encode('utf-8')))
|
||||||
|
except AttributeError:
|
||||||
|
headers += (
|
||||||
|
b'%b: %b\r\n' % (
|
||||||
|
str(name).encode(), str(value).encode('utf-8')))
|
||||||
|
|
||||||
# Try to pull from the common codes first
|
# Try to pull from the common codes first
|
||||||
# Speeds up response rate 6% over pulling from all
|
# Speeds up response rate 6% over pulling from all
|
||||||
|
|
|
@ -33,6 +33,31 @@ def test_text():
|
||||||
assert response.text == 'Hello'
|
assert response.text == 'Hello'
|
||||||
|
|
||||||
|
|
||||||
|
def test_headers():
|
||||||
|
app = Sanic('test_text')
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
async def handler(request):
|
||||||
|
headers = {"spam": "great"}
|
||||||
|
return text('Hello', headers=headers)
|
||||||
|
|
||||||
|
request, response = sanic_endpoint_test(app)
|
||||||
|
|
||||||
|
assert response.headers.get('spam') == 'great'
|
||||||
|
|
||||||
|
|
||||||
|
def test_non_str_headers():
|
||||||
|
app = Sanic('test_text')
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
async def handler(request):
|
||||||
|
headers = {"answer": 42}
|
||||||
|
return text('Hello', headers=headers)
|
||||||
|
|
||||||
|
request, response = sanic_endpoint_test(app)
|
||||||
|
|
||||||
|
assert response.headers.get('answer') == '42'
|
||||||
|
|
||||||
def test_invalid_response():
|
def test_invalid_response():
|
||||||
app = Sanic('test_invalid_response')
|
app = Sanic('test_invalid_response')
|
||||||
|
|
||||||
|
@ -47,8 +72,8 @@ def test_invalid_response():
|
||||||
request, response = sanic_endpoint_test(app)
|
request, response = sanic_endpoint_test(app)
|
||||||
assert response.status == 500
|
assert response.status == 500
|
||||||
assert response.text == "Internal Server Error."
|
assert response.text == "Internal Server Error."
|
||||||
|
|
||||||
|
|
||||||
def test_json():
|
def test_json():
|
||||||
app = Sanic('test_json')
|
app = Sanic('test_json')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user