Skip to content
This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Commit 1ed4b35

Browse files
committed
Move common objects to common code.
1 parent 8c3b2a4 commit 1ed4b35

File tree

8 files changed

+47
-46
lines changed

8 files changed

+47
-46
lines changed

hyper/common/exceptions.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,28 @@ class InvalidResponseError(Exception):
1717
A problem was found with the response that makes it invalid.
1818
"""
1919
pass
20+
21+
22+
class SocketError(Exception):
23+
"""
24+
An error occurred during socket operation.
25+
"""
26+
pass
27+
28+
29+
class LineTooLongError(Exception):
30+
"""
31+
An attempt to read a line from a socket failed because no newline was
32+
found.
33+
"""
34+
pass
35+
36+
37+
# Create our own ConnectionResetError.
38+
try: # pragma: no cover
39+
ConnectionResetError = ConnectionResetError
40+
except NameError: # pragma: no cover
41+
class ConnectionResetError(Exception):
42+
"""
43+
A HTTP connection was unexpectedly reset.
44+
"""

hyper/http11/connection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from .response import HTTP11Response
1313
from ..tls import wrap_socket
14-
from ..http20.bufsocket import BufferedSocket
14+
from ..common.bufsocket import BufferedSocket
1515
from ..common.headers import HTTPHeaderMap
1616
from ..common.util import to_bytestring
1717
from ..compat import bytes

hyper/http11/response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from ..common.decoder import DeflateDecoder
1414
from ..common.exceptions import ChunkedDecodeError, InvalidResponseError
15-
from ..http20.exceptions import ConnectionResetError
15+
from ..common.exceptions import ConnectionResetError
1616

1717
log = logging.getLogger(__name__)
1818

hyper/http20/connection.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
Objects that build hyper's connection-level HTTP/2 abstraction.
77
"""
88
from ..tls import wrap_socket, H2_NPN_PROTOCOLS
9+
from ..common.exceptions import ConnectionResetError
10+
from ..common.bufsocket import BufferedSocket
911
from .hpack_compat import Encoder, Decoder
1012
from .stream import Stream
1113
from .frame import (
@@ -15,8 +17,7 @@
1517
)
1618
from .response import HTTP20Response, HTTP20Push
1719
from .window import FlowControlManager
18-
from .exceptions import ConnectionError, ConnectionResetError
19-
from .bufsocket import BufferedSocket
20+
from .exceptions import ConnectionError
2021

2122
import errno
2223
import logging

hyper/http20/exceptions.py

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,6 @@
55
66
This defines exceptions used in the HTTP/2 portion of hyper.
77
"""
8-
class SocketError(Exception):
9-
"""
10-
An error occurred during socket operation.
11-
"""
12-
pass
13-
14-
15-
class LineTooLongError(Exception):
16-
"""
17-
An attempt to read a line from a socket failed because no newline was
18-
found.
19-
"""
20-
pass
21-
228

239
class HTTP20Error(Exception):
2410
"""
@@ -54,13 +40,3 @@ class ProtocolError(HTTP20Error):
5440
The remote party violated the HTTP/2 protocol.
5541
"""
5642
pass
57-
58-
59-
# Create our own ConnectionResetError.
60-
try: # pragma: no cover
61-
ConnectionResetError = ConnectionResetError
62-
except NameError: # pragma: no cover
63-
class ConnectionResetError(Exception):
64-
"""
65-
A HTTP/2 connection was unexpectedly reset.
66-
"""

test/test_http11.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@
1717
import hyper
1818
from hyper.http11.connection import HTTP11Connection
1919
from hyper.http11.response import HTTP11Response
20-
from hyper.http20.exceptions import ConnectionResetError
2120
from hyper.common.headers import HTTPHeaderMap
22-
from hyper.common.exceptions import ChunkedDecodeError
21+
from hyper.common.exceptions import ChunkedDecodeError, ConnectionResetError
2322
from hyper.compat import bytes, zlib_compressobj
2423

2524

test/test_socket.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"""
88
import pytest
99

10-
import hyper.http20.bufsocket
11-
from hyper.http20.bufsocket import BufferedSocket
12-
from hyper.http20.exceptions import ConnectionResetError, LineTooLongError
10+
import hyper.common.bufsocket
11+
from hyper.common.bufsocket import BufferedSocket
12+
from hyper.common.exceptions import ConnectionResetError, LineTooLongError
1313

1414
# Patch the select method in bufsocket to make sure that it always returns
1515
# the dummy socket as readable.
@@ -22,7 +22,7 @@ class TestBufferedSocket(object):
2222
"""
2323
def test_can_create_buffered_sockets(self, monkeypatch):
2424
monkeypatch.setattr(
25-
hyper.http20.bufsocket.select, 'select', dummy_select
25+
hyper.common.bufsocket.select, 'select', dummy_select
2626
)
2727
s = DummySocket()
2828
b = BufferedSocket(s)
@@ -32,7 +32,7 @@ def test_can_create_buffered_sockets(self, monkeypatch):
3232

3333
def test_can_send_on_buffered_socket(self, monkeypatch):
3434
monkeypatch.setattr(
35-
hyper.http20.bufsocket.select, 'select', dummy_select
35+
hyper.common.bufsocket.select, 'select', dummy_select
3636
)
3737
s = DummySocket()
3838
b = BufferedSocket(s)
@@ -43,7 +43,7 @@ def test_can_send_on_buffered_socket(self, monkeypatch):
4343

4444
def test_receive_single_packet(self, monkeypatch):
4545
monkeypatch.setattr(
46-
hyper.http20.bufsocket.select, 'select', dummy_select
46+
hyper.common.bufsocket.select, 'select', dummy_select
4747
)
4848
s = DummySocket()
4949
b = BufferedSocket(s)
@@ -54,7 +54,7 @@ def test_receive_single_packet(self, monkeypatch):
5454

5555
def test_receive_multiple_packets_one_at_a_time(self, monkeypatch):
5656
monkeypatch.setattr(
57-
hyper.http20.bufsocket.select, 'select', dummy_select
57+
hyper.common.bufsocket.select, 'select', dummy_select
5858
)
5959
s = DummySocket()
6060
b = BufferedSocket(s)
@@ -68,7 +68,7 @@ def test_receive_multiple_packets_one_at_a_time(self, monkeypatch):
6868

6969
def test_receive_small_packets(self, monkeypatch):
7070
monkeypatch.setattr(
71-
hyper.http20.bufsocket.select, 'select', dummy_select
71+
hyper.common.bufsocket.select, 'select', dummy_select
7272
)
7373
s = DummySocket()
7474
b = BufferedSocket(s)
@@ -82,7 +82,7 @@ def test_receive_small_packets(self, monkeypatch):
8282

8383
def test_receive_multiple_packets_at_once(self, monkeypatch):
8484
monkeypatch.setattr(
85-
hyper.http20.bufsocket.select, 'select', dummy_select
85+
hyper.common.bufsocket.select, 'select', dummy_select
8686
)
8787
s = DummySocket()
8888
b = BufferedSocket(s)
@@ -97,7 +97,7 @@ def test_receive_multiple_packets_at_once(self, monkeypatch):
9797

9898
def test_filling_the_buffer(self, monkeypatch):
9999
monkeypatch.setattr(
100-
hyper.http20.bufsocket.select, 'select', dummy_select
100+
hyper.common.bufsocket.select, 'select', dummy_select
101101
)
102102
s = DummySocket()
103103
b = BufferedSocket(s)
@@ -114,7 +114,7 @@ def test_filling_the_buffer(self, monkeypatch):
114114

115115
def test_oversized_read(self, monkeypatch):
116116
monkeypatch.setattr(
117-
hyper.http20.bufsocket.select, 'select', dummy_select
117+
hyper.common.bufsocket.select, 'select', dummy_select
118118
)
119119
s = DummySocket()
120120
b = BufferedSocket(s)
@@ -125,7 +125,7 @@ def test_oversized_read(self, monkeypatch):
125125

126126
def test_readline_from_buffer(self, monkeypatch):
127127
monkeypatch.setattr(
128-
hyper.http20.bufsocket.select, 'select', dummy_select
128+
hyper.common.bufsocket.select, 'select', dummy_select
129129
)
130130
s = DummySocket()
131131
b = BufferedSocket(s)
@@ -143,7 +143,7 @@ def test_readline_from_buffer(self, monkeypatch):
143143

144144
def test_readline_from_socket(self, monkeypatch):
145145
monkeypatch.setattr(
146-
hyper.http20.bufsocket.select, 'select', dummy_select
146+
hyper.common.bufsocket.select, 'select', dummy_select
147147
)
148148
s = DummySocket()
149149
b = BufferedSocket(s)
@@ -162,7 +162,7 @@ def test_readline_from_socket(self, monkeypatch):
162162

163163
def test_readline_both(self, monkeypatch):
164164
monkeypatch.setattr(
165-
hyper.http20.bufsocket.select, 'select', dummy_select
165+
hyper.common.bufsocket.select, 'select', dummy_select
166166
)
167167
s = DummySocket()
168168
b = BufferedSocket(s)
@@ -186,7 +186,7 @@ def test_readline_both(self, monkeypatch):
186186

187187
def test_socket_error_on_readline(self, monkeypatch):
188188
monkeypatch.setattr(
189-
hyper.http20.bufsocket.select, 'select', dummy_select
189+
hyper.common.bufsocket.select, 'select', dummy_select
190190
)
191191
s = DummySocket()
192192
b = BufferedSocket(s)
@@ -196,7 +196,7 @@ def test_socket_error_on_readline(self, monkeypatch):
196196

197197
def test_socket_readline_too_long(self, monkeypatch):
198198
monkeypatch.setattr(
199-
hyper.http20.bufsocket.select, 'select', dummy_select
199+
hyper.common.bufsocket.select, 'select', dummy_select
200200
)
201201
s = DummySocket()
202202
b = BufferedSocket(s)

0 commit comments

Comments
 (0)