c-hyper: fix multi-request mechanism

It makes test 565 run fine.

Fixes #8896
Closes #10080
Assisted-by: Daniel Stenberg
This commit is contained in:
Prithvi MK 2022-12-11 15:43:14 +05:30 committed by Daniel Stenberg
parent fd2c9e5e83
commit b80dae232e
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
2 changed files with 16 additions and 3 deletions

View File

@ -699,6 +699,7 @@ static int uploadstreamed(void *userdata, hyper_context *ctx,
{
size_t fillcount;
struct Curl_easy *data = (struct Curl_easy *)userdata;
struct connectdata *conn = (struct connectdata *)data->conn;
CURLcode result;
(void)ctx;
@ -713,7 +714,15 @@ static int uploadstreamed(void *userdata, hyper_context *ctx,
return HYPER_POLL_PENDING;
}
result = Curl_fillreadbuffer(data, data->set.upload_buffer_size, &fillcount);
if(data->req.upload_chunky && conn->bits.authneg) {
fillcount = 0;
data->req.upload_chunky = FALSE;
result = CURLE_OK;
}
else {
result = Curl_fillreadbuffer(data, data->set.upload_buffer_size,
&fillcount);
}
if(result) {
data->state.hresult = result;
return HYPER_POLL_ERROR;
@ -1166,7 +1175,12 @@ CURLcode Curl_http(struct Curl_easy *data, bool *done)
Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"\r\n", 2);
data->req.upload_chunky = FALSE;
if(data->req.upload_chunky && conn->bits.authneg) {
data->req.upload_chunky = TRUE;
}
else {
data->req.upload_chunky = FALSE;
}
sendtask = hyper_clientconn_send(client, req);
if(!sendtask) {
failf(data, "hyper_clientconn_send");

View File

@ -65,7 +65,6 @@
# listed below
%if hyper
266
565
579
587
# 1021 re-added here due to flakiness