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
Родитель d31915a8db
Коммит c8d24d4e77
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 5CC908FDB71E12C2
2 изменённых файлов: 18 добавлений и 18 удалений

Просмотреть файл

@ -174,8 +174,8 @@ static int hyper_each_header(void *userdata,
}
}
data->info.header_size += (long)len;
data->req.headerbytecount += (long)len;
data->info.header_size += (curl_off_t)len;
data->req.headerbytecount += (curl_off_t)len;
return HYPER_ITER_CONTINUE;
}
@ -264,23 +264,25 @@ static CURLcode status_line(struct Curl_easy *data,
int writetype;
vstr = http_version == HYPER_HTTP_VERSION_1_1 ? "1.1" :
(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
a single place. */
data->req.httpcode = http_status;
result = Curl_http_statusline(data, conn);
if(result)
return result;
if(data->state.hconnect)
/* CONNECT */
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);
@ -303,9 +305,8 @@ static CURLcode status_line(struct Curl_easy *data,
if(result)
return result;
}
data->info.header_size += (long)len;
data->req.headerbytecount += (long)len;
data->req.httpcode = http_status;
data->info.header_size += (curl_off_t)len;
data->req.headerbytecount += (curl_off_t)len;
return CURLE_OK;
}

Просмотреть файл

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