@@ -33,7 +33,7 @@ async def handle_requests(self):
3333 try :
3434 while not self ._parser .is_closed ():
3535 method , url , headers = await self ._recv_head ()
36- stream = HTTPStream (self ._recv_body , self ._complete )
36+ stream = HTTPStream (self ._recv_body , self ._reset )
3737 # TODO: Handle endpoint exceptions
3838 async with Request (method , url , headers = headers , content = stream ) as request :
3939 try :
@@ -43,12 +43,15 @@ async def handle_requests(self):
4343 except Exception :
4444 logger .error ("Internal Server Error" , exc_info = True )
4545 content = Text ("Internal Server Error" )
46- err = Response (code = 500 , content = content )
46+ err = Response (500 , content = content )
4747 await self ._send_head (err )
4848 await self ._send_body (err )
4949 else :
5050 await self ._send_head (response )
5151 await self ._send_body (response )
52+ if self ._parser .is_keepalive ():
53+ await stream .read ()
54+ await self ._reset ()
5255 except Exception :
5356 logger .error ("Internal Server Error" , exc_info = True )
5457
@@ -88,8 +91,8 @@ async def _send_body(self, response: Response):
8891 await self ._parser .send_body (b'' )
8992
9093 # Start it all over again...
91- async def _complete (self ):
92- await self ._parser .complete
94+ async def _reset (self ):
95+ await self ._parser .reset ()
9396 self ._idle_expiry = time .monotonic () + self ._keepalive_duration
9497
9598
0 commit comments