change HTTP2 interface to match HTTP1

This commit is contained in:
Thomas Kriechbaumer 2015-07-16 22:50:24 +02:00
parent bab6cbff1e
commit 230c16122b
2 changed files with 15 additions and 11 deletions

View File

@ -2,7 +2,7 @@ from __future__ import (absolute_import, print_function, division)
import itertools
from hpack.hpack import Encoder, Decoder
from .. import utils
from netlib import http, utils
from . import frame
@ -186,9 +186,9 @@ class HTTP2Protocol(object):
self._create_headers(headers, stream_id, end_stream=(body is None)),
self._create_body(body, stream_id)))
def read_response(self):
def read_response(self, *args):
stream_id_, headers, body = self._receive_transmission()
return headers[':status'], headers, body
return http.Response("HTTP/2", headers[':status'], "", headers, body)
def read_request(self):
return self._receive_transmission()

View File

@ -251,11 +251,13 @@ class TestReadResponse(tservers.ServerTestBase):
c.convert_to_ssl()
protocol = http2.HTTP2Protocol(c)
status, headers, body = protocol.read_response()
resp = protocol.read_response()
assert headers == {':status': '200', 'etag': 'foobar'}
assert status == "200"
assert body == b'foobar'
assert resp.httpversion == "HTTP/2"
assert resp.status_code == "200"
assert resp.msg == ""
assert resp.headers == {':status': '200', 'etag': 'foobar'}
assert resp.content == b'foobar'
class TestReadEmptyResponse(tservers.ServerTestBase):
@ -274,11 +276,13 @@ class TestReadEmptyResponse(tservers.ServerTestBase):
c.convert_to_ssl()
protocol = http2.HTTP2Protocol(c)
status, headers, body = protocol.read_response()
resp = protocol.read_response()
assert headers == {':status': '200', 'etag': 'foobar'}
assert status == "200"
assert body == b''
assert resp.httpversion == "HTTP/2"
assert resp.status_code == "200"
assert resp.msg == ""
assert resp.headers == {':status': '200', 'etag': 'foobar'}
assert resp.content == b''
class TestReadRequest(tservers.ServerTestBase):