hyper: fix test 357
This change fixes the hyper API such that PUT requests that receive a 417 response can retry without the Expect header. Closes #8811
This commit is contained in:
parent
4fc35c829c
commit
652fd3fab8
@ -439,6 +439,13 @@ CURLcode Curl_hyper_stream(struct Curl_easy *data,
|
||||
reasonp = hyper_response_reason_phrase(resp);
|
||||
reason_len = hyper_response_reason_phrase_len(resp);
|
||||
|
||||
if(http_status == 417 && data->state.expect100header) {
|
||||
infof(data, "Got 417 while waiting for a 100");
|
||||
data->state.disableexpect = TRUE;
|
||||
data->req.newurl = strdup(data->state.url);
|
||||
Curl_done_sending(data, k);
|
||||
}
|
||||
|
||||
result = status_line(data, conn,
|
||||
http_status, http_version, reasonp, reason_len);
|
||||
if(result)
|
||||
@ -951,6 +958,11 @@ CURLcode Curl_http(struct Curl_easy *data, bool *done)
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(!h2 && !data->state.disableexpect) {
|
||||
data->state.expect100header = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if(hyper_request_set_method(req, (uint8_t *)method, strlen(method))) {
|
||||
failf(data, "error setting method");
|
||||
|
||||
@ -42,7 +42,6 @@
|
||||
%if hyper
|
||||
265
|
||||
266
|
||||
357
|
||||
565
|
||||
579
|
||||
587
|
||||
|
||||
Loading…
Reference in New Issue
Block a user