http: enable haproxy support for hyper backend
This is done by having native code do the haproxy header output before hyper issues its request. The little downside with this approach is that we need the entire Curl_buffer_send() function built, which is otherwise not used for hyper builds. If hyper ends up getting native support for the haproxy protocols we can backpedal on this. Enables test 1455 and 1456 Closes #8034
This commit is contained in:
parent
ba0657c343
commit
6e061ae63a
@ -1153,7 +1153,6 @@ static bool http_should_fail(struct Curl_easy *data)
|
||||
return data->state.authproblem;
|
||||
}
|
||||
|
||||
#ifndef USE_HYPER
|
||||
/*
|
||||
* readmoredata() is a "fread() emulation" to provide POST and/or request
|
||||
* data. It is used when a huge POST is to be made and the entire chunk wasn't
|
||||
@ -1412,8 +1411,6 @@ CURLcode Curl_buffer_send(struct dynbuf *in,
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* end of the add_buffer functions */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
@ -2375,6 +2372,9 @@ CURLcode Curl_http_bodysend(struct Curl_easy *data, struct connectdata *conn,
|
||||
#ifndef USE_HYPER
|
||||
/* Hyper always handles the body separately */
|
||||
curl_off_t included_body = 0;
|
||||
#else
|
||||
/* from this point down, this function should not be used */
|
||||
#define Curl_buffer_send(a,b,c,d,e) CURLE_OK
|
||||
#endif
|
||||
CURLcode result = CURLE_OK;
|
||||
struct HTTP *http = data->req.p.http;
|
||||
@ -2685,7 +2685,6 @@ CURLcode Curl_http_bodysend(struct Curl_easy *data, struct connectdata *conn,
|
||||
/* issue the request */
|
||||
result = Curl_buffer_send(r, data, &data->info.request_size, 0,
|
||||
FIRSTSOCKET);
|
||||
|
||||
if(result)
|
||||
failf(data, "Failed sending HTTP request");
|
||||
else
|
||||
|
||||
@ -54,15 +54,11 @@ char *Curl_copy_header_value(const char *header);
|
||||
char *Curl_checkProxyheaders(struct Curl_easy *data,
|
||||
const struct connectdata *conn,
|
||||
const char *thisheader);
|
||||
#ifndef USE_HYPER
|
||||
CURLcode Curl_buffer_send(struct dynbuf *in,
|
||||
struct Curl_easy *data,
|
||||
curl_off_t *bytes_written,
|
||||
curl_off_t included_body_bytes,
|
||||
int socketindex);
|
||||
#else
|
||||
#define Curl_buffer_send(a,b,c,d,e) CURLE_OK
|
||||
#endif
|
||||
|
||||
CURLcode Curl_add_timecondition(struct Curl_easy *data,
|
||||
#ifndef USE_HYPER
|
||||
|
||||
@ -59,8 +59,6 @@
|
||||
1021
|
||||
1156
|
||||
1417
|
||||
1455
|
||||
1456
|
||||
1525
|
||||
1526
|
||||
1527
|
||||
|
||||
Loading…
Reference in New Issue
Block a user