@@ -544,7 +544,7 @@ async def read(
544
544
if read_waiter in self ._done_messages :
545
545
self ._done_messages .remove (read_waiter )
546
546
if message :
547
- start , end = message [0 ], message [1 ]
547
+ start , end , op_code = message [0 ], message [1 ], message [ 2 ]
548
548
header_size = 16
549
549
if self ._body_length > self ._buffer_size and self ._overflow is not None :
550
550
if self ._is_compressed and self ._compressor_id is not None :
@@ -555,21 +555,21 @@ async def read(
555
555
+ bytearray (self ._overflow [: self ._overflow_length ])
556
556
),
557
557
self ._compressor_id ,
558
- ), self . _op_code
558
+ ), op_code
559
559
else :
560
560
return memoryview (
561
561
bytearray (self ._buffer [header_size : self ._length ])
562
562
+ bytearray (self ._overflow [: self ._overflow_length ])
563
- ), self . _op_code
563
+ ), op_code
564
564
else :
565
565
if self ._is_compressed and self ._compressor_id is not None :
566
566
header_size = 25
567
567
return decompress (
568
568
memoryview (self ._buffer [start + header_size : end ]),
569
569
self ._compressor_id ,
570
- ), self . _op_code
570
+ ), op_code
571
571
else :
572
- return memoryview (self ._buffer [start + header_size : end ]), self . _op_code
572
+ return memoryview (self ._buffer [start + header_size : end ]), op_code
573
573
raise OSError ("connection closed" )
574
574
575
575
def get_buffer (self , sizehint : int ) -> memoryview :
@@ -604,7 +604,7 @@ def buffer_updated(self, nbytes: int) -> None:
604
604
done = self ._pending_messages .popleft ()
605
605
else :
606
606
done = asyncio .get_running_loop ().create_future ()
607
- done .set_result ((self ._start , self ._body_length ))
607
+ done .set_result ((self ._start , self ._body_length , self . _op_code ))
608
608
self ._start = 0
609
609
self ._done_messages .append (done )
610
610
if self ._length > self ._body_length :
0 commit comments