mirror of
https://github.com/curl/curl.git
synced 2026-08-26 20:13:33 +03:00
lib: clarify 'conn->httpversion'
The variable `conn->httpversion` was used for several purposes and it was unclear at which time the value represents what. - rename `conn->httpversion` to `conn->httpversion_seen` This makes clear that the variable only records the last HTTP version seen on the connection - if any. And that it no longer is an indication of what version to use. - Change Alt-Svc handling to no longer modify `conn->httpversion` but set `data->state.httpwant` for influencing the HTTP version to use on a transfer. - Add `data->req.httpversion_sent` to have a record of what HTTP version was sent in a request - Add connection filter type CF_TYPE_HTTP - Add filter query `CF_QUERY_HTTP_VERSION` to ask what HTTP filter version is in place - Lookup filters HTTP version instead of using `conn->httpversion` Test test_12_05 now switches to HTTP/1.1 correctly and the expectations have been fixed. Removed the connection fitler "is_httpN()" checks and using the version query instead. Closes #16073
This commit is contained in:
parent
7e814c8717
commit
e83818cae1
21 changed files with 206 additions and 203 deletions
16
lib/http2.h
16
lib/http2.h
|
|
@ -44,15 +44,9 @@ CURLcode Curl_http2_request_upgrade(struct dynbuf *req,
|
|||
/* returns true if the HTTP/2 stream error was HTTP_1_1_REQUIRED */
|
||||
bool Curl_h2_http_1_1_error(struct Curl_easy *data);
|
||||
|
||||
bool Curl_conn_is_http2(const struct Curl_easy *data,
|
||||
const struct connectdata *conn,
|
||||
int sockindex);
|
||||
bool Curl_http2_may_switch(struct Curl_easy *data,
|
||||
struct connectdata *conn,
|
||||
int sockindex);
|
||||
bool Curl_http2_may_switch(struct Curl_easy *data);
|
||||
|
||||
CURLcode Curl_http2_switch(struct Curl_easy *data,
|
||||
struct connectdata *conn, int sockindex);
|
||||
CURLcode Curl_http2_switch(struct Curl_easy *data);
|
||||
|
||||
CURLcode Curl_http2_switch_at(struct Curl_cfilter *cf, struct Curl_easy *data);
|
||||
|
||||
|
|
@ -69,12 +63,10 @@ extern struct Curl_cftype Curl_cft_nghttp2;
|
|||
|
||||
#else /* USE_NGHTTP2 */
|
||||
|
||||
#define Curl_cf_is_http2(a,b) FALSE
|
||||
#define Curl_conn_is_http2(a,b,c) FALSE
|
||||
#define Curl_http2_may_switch(a,b,c) FALSE
|
||||
#define Curl_http2_may_switch(a) FALSE
|
||||
|
||||
#define Curl_http2_request_upgrade(x,y) CURLE_UNSUPPORTED_PROTOCOL
|
||||
#define Curl_http2_switch(a,b,c) CURLE_UNSUPPORTED_PROTOCOL
|
||||
#define Curl_http2_switch(a) CURLE_UNSUPPORTED_PROTOCOL
|
||||
#define Curl_http2_upgrade(a,b,c,d,e) CURLE_UNSUPPORTED_PROTOCOL
|
||||
#define Curl_h2_http_1_1_error(x) 0
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue