File tree Expand file tree Collapse file tree 2 files changed +20
-6
lines changed Expand file tree Collapse file tree 2 files changed +20
-6
lines changed Original file line number Diff line number Diff line change @@ -204,6 +204,11 @@ class HttpResponseParser(HttpParser):
204
204
Returns RawResponseMessage"""
205
205
206
206
def __call__ (self , out , buf ):
207
+ try :
208
+ yield from buf .wait (1 )
209
+ except aiohttp .EofStream :
210
+ raise errors .ClientConnectionError (
211
+ 'Connection closed by server' ) from None
207
212
try :
208
213
# read http message (response line + headers)
209
214
try :
Original file line number Diff line number Diff line change @@ -1095,12 +1095,21 @@ def go():
1095
1095
connector = aiohttp .TCPConnector (loop = self .loop )
1096
1096
1097
1097
url = 'http://{}:{}/' .format (* addr )
1098
- for i in range (2 ):
1099
- r = yield from client .request ('GET' , url ,
1100
- connector = connector ,
1101
- loop = self .loop )
1102
- yield from r .read ()
1103
- self .assertEqual (1 , len (connector ._conns ))
1098
+
1099
+ r = yield from client .request ('GET' , url ,
1100
+ connector = connector ,
1101
+ loop = self .loop )
1102
+ yield from r .read ()
1103
+ self .assertEqual (1 , len (connector ._conns ))
1104
+
1105
+ with self .assertRaisesRegex (
1106
+ aiohttp .ClientConnectionError ,
1107
+ 'Connection closed by server' ):
1108
+ yield from client .request ('GET' , url ,
1109
+ connector = connector ,
1110
+ loop = self .loop )
1111
+ self .assertEqual (0 , len (connector ._conns ))
1112
+
1104
1113
connector .close ()
1105
1114
server .close ()
1106
1115
yield from server .wait_closed ()
You can’t perform that action at this time.
0 commit comments