c-hyper: add timecondition to the request

Test 77-78

Closes #6391
This commit is contained in:
Daniel Stenberg 2021-01-01 00:48:40 +01:00
parent 3c7483efb4
commit fce912139a
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
3 changed files with 23 additions and 5 deletions

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -823,6 +823,10 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
if(result)
return result;
result = Curl_add_timecondition(conn, headers);
if(result)
return result;
result = Curl_add_custom_headers(conn, FALSE, headers);
if(result)
return result;

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -1863,7 +1863,12 @@ CURLcode Curl_add_custom_headers(struct connectdata *conn,
#ifndef CURL_DISABLE_PARSEDATE
CURLcode Curl_add_timecondition(const struct connectdata *conn,
struct dynbuf *req)
#ifndef USE_HYPER
struct dynbuf *req
#else
void *req
#endif
)
{
struct Curl_easy *data = conn->data;
const struct tm *tm;
@ -1922,7 +1927,11 @@ CURLcode Curl_add_timecondition(const struct connectdata *conn,
tm->tm_min,
tm->tm_sec);
#ifndef USE_HYPER
result = Curl_dyn_add(req, datestr);
#else
result = Curl_hyper_header(data, req, datestr);
#endif
return result;
}

View File

@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@ -66,7 +66,12 @@ CURLcode Curl_buffer_send(struct dynbuf *in,
#endif
CURLcode Curl_add_timecondition(const struct connectdata *conn,
struct dynbuf *buf);
#ifndef USE_HYPER
struct dynbuf *req
#else
void *headers
#endif
);
CURLcode Curl_add_custom_headers(struct connectdata *conn,
bool is_connect,
#ifndef USE_HYPER