}
else
{
- req->stream_state = HTTP2_STREAM_STATE_HALF_CLOSED;
+ if (!req->base.is_tunnel)
+ req->stream_state = HTTP2_STREAM_STATE_HALF_CLOSED;
http_req_state_change (&req->base,
HTTP_REQ_STATE_WAIT_TRANSPORT_REPLY);
}
else
new_state = HTTP_REQ_STATE_TUNNEL;
http_io_as_add_want_read_ntf (&req->base);
+ transport_connection_reschedule (&req->base.connection);
/* cleanup some stuff we don't need anymore in tunnel mode */
vec_free (req->base.headers);
}
HTTP_DBG (1, "END_STREAM flag set");
if (req->base.is_tunnel)
{
- /* client can initiate or confirm tunnel close */
+ /* peer can initiate or confirm tunnel close */
req->stream_state =
req->stream_state == HTTP2_STREAM_STATE_HALF_CLOSED ?
HTTP2_STREAM_STATE_CLOSED :