@@ -247,37 +247,49 @@ async def _write(self, sock, data):
247
247
async def proxy_to_backend (self ):
248
248
buf = None
249
249
250
- while True :
251
- await self .connectivity .wait ()
252
- if buf is not None :
253
- data = buf
254
- buf = None
255
- else :
256
- data = await self ._read (self .client_sock , 4096 )
257
- if data == b'' :
258
- self .loop .call_soon (self .close )
259
- break
260
- if self .connectivity_loss .is_set ():
261
- if data :
262
- buf = data
263
- continue
264
- await self ._write (self .backend_sock , data )
250
+ try :
251
+ while True :
252
+ await self .connectivity .wait ()
253
+ if buf is not None :
254
+ data = buf
255
+ buf = None
256
+ else :
257
+ data = await self ._read (self .client_sock , 4096 )
258
+ if data == b'' :
259
+ break
260
+ if self .connectivity_loss .is_set ():
261
+ if data :
262
+ buf = data
263
+ continue
264
+ await self ._write (self .backend_sock , data )
265
+
266
+ except ConnectionError :
267
+ pass
268
+
269
+ finally :
270
+ self .loop .call_soon (self .close )
265
271
266
272
async def proxy_from_backend (self ):
267
273
buf = None
268
274
269
- while True :
270
- await self .connectivity .wait ()
271
- if buf is not None :
272
- data = buf
273
- buf = None
274
- else :
275
- data = await self ._read (self .backend_sock , 4096 )
276
- if data == b'' :
277
- self .loop .call_soon (self .close )
278
- break
279
- if self .connectivity_loss .is_set ():
280
- if data :
281
- buf = data
282
- continue
283
- await self ._write (self .client_sock , data )
275
+ try :
276
+ while True :
277
+ await self .connectivity .wait ()
278
+ if buf is not None :
279
+ data = buf
280
+ buf = None
281
+ else :
282
+ data = await self ._read (self .backend_sock , 4096 )
283
+ if data == b'' :
284
+ break
285
+ if self .connectivity_loss .is_set ():
286
+ if data :
287
+ buf = data
288
+ continue
289
+ await self ._write (self .client_sock , data )
290
+
291
+ except ConnectionError :
292
+ pass
293
+
294
+ finally :
295
+ self .loop .call_soon (self .close )
0 commit comments