TSG-4606 重置HTTP2应答头上下文

This commit is contained in:
fengweihao
2020-12-14 11:52:47 +08:00
committed by 卢文朋
parent 5bf7f2f298
commit 65ca1cf679

View File

@@ -2104,7 +2104,7 @@ nghttp2_client_on_data_chunk_recv(nghttp2_session *session, uint8_t flags,
resp->event_cb(resp, EV_HTTP_RESP_BODY_BEGIN, NULL, len, resp->event_cb(resp, EV_HTTP_RESP_BODY_BEGIN, NULL, len,
resp->event_cb_user); resp->event_cb_user);
} }
if (flags == NGHTTP2_FLAG_END_STREAM) if (flags & NGHTTP2_FLAG_END_STREAM)
{ {
resp->h2_payload.flags = NGHTTP2_FLAG_NONE; resp->h2_payload.flags = NGHTTP2_FLAG_NONE;
}else }else
@@ -2120,7 +2120,7 @@ nghttp2_client_on_data_chunk_recv(nghttp2_session *session, uint8_t flags,
resp->event_cb(resp, EV_HTTP_RESP_BODY_CONT, data, len, resp->event_cb(resp, EV_HTTP_RESP_BODY_CONT, data, len,
resp->event_cb_user); resp->event_cb_user);
} }
if (flags == NGHTTP2_FLAG_END_STREAM) if (flags & NGHTTP2_FLAG_END_STREAM)
{ {
resp->h2_payload.flags = NGHTTP2_FLAG_NONE; resp->h2_payload.flags = NGHTTP2_FLAG_NONE;
}else }else
@@ -2191,6 +2191,7 @@ create_upstream_data(nghttp2_session *session, int32_t stream_id,
goto resp; goto resp;
} }
if (h2_session->resp){ if (h2_session->resp){
nghttp2_session_set_stream_user_data(session, stream_id, h2_session);
/** todo:When the data of the reply is pushed as promised, /** todo:When the data of the reply is pushed as promised,
there is no stream id at the reply end. to create it*/ there is no stream id at the reply end. to create it*/
goto finish; goto finish;
@@ -2447,7 +2448,7 @@ nghttp2_server_on_data_chunk_recv(nghttp2_session *session, uint8_t flags,
req->event_cb(req, EV_HTTP_REQ_BODY_BEGIN, NULL, len, req->event_cb(req, EV_HTTP_REQ_BODY_BEGIN, NULL, len,
req->event_cb_user); req->event_cb_user);
} }
if (flags == NGHTTP2_FLAG_END_STREAM) if (flags & NGHTTP2_FLAG_END_STREAM)
{ {
req->h2_payload.flags = NGHTTP2_FLAG_NONE; req->h2_payload.flags = NGHTTP2_FLAG_NONE;
}else }else
@@ -2463,7 +2464,7 @@ nghttp2_server_on_data_chunk_recv(nghttp2_session *session, uint8_t flags,
req->event_cb(req, EV_HTTP_REQ_BODY_CONT, data, len, req->event_cb(req, EV_HTTP_REQ_BODY_CONT, data, len,
req->event_cb_user); req->event_cb_user);
} }
if (flags == NGHTTP2_FLAG_END_STREAM){ if (flags & NGHTTP2_FLAG_END_STREAM){
req->h2_payload.flags = NGHTTP2_FLAG_NONE; req->h2_payload.flags = NGHTTP2_FLAG_NONE;
}else{ }else{
req->h2_payload.flags = flags; req->h2_payload.flags = flags;