c-hyper: CONNECT respones are not server responses

Together with d31915a8db it makes test 265 run fine.

Fixes #8853
Assisted-by: Prithvi MK
Assisted-by: Sean McArthur
Closes #10060
This commit is contained in:
Daniel Stenberg 2022-12-08 17:47:54 +01:00
parent d31915a8db
commit c8d24d4e77
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
2 changed files with 18 additions and 18 deletions

View File

@ -174,8 +174,8 @@ static int hyper_each_header(void *userdata,
} }
} }
data->info.header_size += (long)len; data->info.header_size += (curl_off_t)len;
data->req.headerbytecount += (long)len; data->req.headerbytecount += (curl_off_t)len;
return HYPER_ITER_CONTINUE; return HYPER_ITER_CONTINUE;
} }
@ -264,23 +264,25 @@ static CURLcode status_line(struct Curl_easy *data,
int writetype; int writetype;
vstr = http_version == HYPER_HTTP_VERSION_1_1 ? "1.1" : vstr = http_version == HYPER_HTTP_VERSION_1_1 ? "1.1" :
(http_version == HYPER_HTTP_VERSION_2 ? "2" : "1.0"); (http_version == HYPER_HTTP_VERSION_2 ? "2" : "1.0");
conn->httpversion =
http_version == HYPER_HTTP_VERSION_1_1 ? 11 :
(http_version == HYPER_HTTP_VERSION_2 ? 20 : 10);
if(http_version == HYPER_HTTP_VERSION_1_0)
data->state.httpwant = CURL_HTTP_VERSION_1_0;
if(data->state.hconnect)
/* CONNECT */
data->info.httpproxycode = http_status;
/* We need to set 'httpcodeq' for functions that check the response code in /* We need to set 'httpcodeq' for functions that check the response code in
a single place. */ a single place. */
data->req.httpcode = http_status; data->req.httpcode = http_status;
result = Curl_http_statusline(data, conn); if(data->state.hconnect)
if(result) /* CONNECT */
return result; data->info.httpproxycode = http_status;
else {
conn->httpversion =
http_version == HYPER_HTTP_VERSION_1_1 ? 11 :
(http_version == HYPER_HTTP_VERSION_2 ? 20 : 10);
if(http_version == HYPER_HTTP_VERSION_1_0)
data->state.httpwant = CURL_HTTP_VERSION_1_0;
result = Curl_http_statusline(data, conn);
if(result)
return result;
}
Curl_dyn_reset(&data->state.headerb); Curl_dyn_reset(&data->state.headerb);
@ -303,9 +305,8 @@ static CURLcode status_line(struct Curl_easy *data,
if(result) if(result)
return result; return result;
} }
data->info.header_size += (long)len; data->info.header_size += (curl_off_t)len;
data->req.headerbytecount += (long)len; data->req.headerbytecount += (curl_off_t)len;
data->req.httpcode = http_status;
return CURLE_OK; return CURLE_OK;
} }

View File

@ -64,7 +64,6 @@
# hyper support remains EXPERIMENTAL as long as there's a test number # hyper support remains EXPERIMENTAL as long as there's a test number
# listed below # listed below
%if hyper %if hyper
265
266 266
565 565
579 579