@@ -96,7 +96,7 @@ def send_headers(self, end_stream=False):
96
96
headers = self .get_headers ()
97
97
with self ._conn as conn :
98
98
conn .send_headers (self .stream_id , headers , end_stream )
99
- self ._send_cb (conn . data_to_send () )
99
+ self ._send_cb ()
100
100
101
101
if end_stream :
102
102
self .local_closed = True
@@ -191,7 +191,7 @@ def receive_data(self, event):
191
191
conn .increment_flow_control_window (
192
192
increment , stream_id = self .stream_id
193
193
)
194
- self ._send_cb (conn . data_to_send () )
194
+ self ._send_cb ()
195
195
196
196
def receive_end_stream (self , event ):
197
197
"""
@@ -280,16 +280,18 @@ def close(self, error_code=None):
280
280
# FIXME: I think this is overbroad, but for now it's probably ok.
281
281
if not (self .remote_closed and self .local_closed ):
282
282
with self ._conn as conn :
283
+ send = False
284
+
283
285
try :
284
286
conn .reset_stream (self .stream_id , error_code or 0 )
285
287
except h2 .exceptions .ProtocolError :
286
- # If for any reason we can't reset the stream, just tolerate
287
- # it.
288
+ # If for any reason we can't reset the stream, just
289
+ # tolerate it.
288
290
pass
289
291
else :
290
- self . _send_cb (
291
- conn . data_to_send (), tolerate_peer_gone = True
292
- )
292
+ send = True
293
+ if send :
294
+ self . _send_cb ( tolerate_peer_gone = True )
293
295
self .remote_closed = True
294
296
self .local_closed = True
295
297
@@ -329,7 +331,7 @@ def _send_chunk(self, data, final):
329
331
conn .send_data (
330
332
stream_id = self .stream_id , data = data , end_stream = end_stream
331
333
)
332
- self ._send_cb (conn . data_to_send () )
334
+ self ._send_cb ()
333
335
334
336
if end_stream :
335
337
self .local_closed = True
0 commit comments