diff options
Diffstat (limited to 'xs_curl.h')
| -rw-r--r-- | xs_curl.h | 13 |
1 files changed, 8 insertions, 5 deletions
| @@ -5,8 +5,8 @@ | |||
| 5 | #define _XS_CURL_H | 5 | #define _XS_CURL_H |
| 6 | 6 | ||
| 7 | d_char *xs_http_request(char *method, char *url, d_char *headers, | 7 | d_char *xs_http_request(char *method, char *url, d_char *headers, |
| 8 | d_char *body, int b_size, | 8 | d_char *body, int b_size, int *status, |
| 9 | int *status, d_char **payload, int *p_size); | 9 | d_char **payload, int *p_size, int timeout); |
| 10 | 10 | ||
| 11 | #ifdef XS_IMPLEMENTATION | 11 | #ifdef XS_IMPLEMENTATION |
| 12 | 12 | ||
| @@ -84,8 +84,8 @@ static int _post_callback(char *buffer, size_t size, | |||
| 84 | 84 | ||
| 85 | 85 | ||
| 86 | d_char *xs_http_request(char *method, char *url, d_char *headers, | 86 | d_char *xs_http_request(char *method, char *url, d_char *headers, |
| 87 | d_char *body, int b_size, | 87 | d_char *body, int b_size, int *status, |
| 88 | int *status, d_char **payload, int *p_size) | 88 | d_char **payload, int *p_size, int timeout) |
| 89 | /* does an HTTP request */ | 89 | /* does an HTTP request */ |
| 90 | { | 90 | { |
| 91 | d_char *response; | 91 | d_char *response; |
| @@ -101,7 +101,10 @@ d_char *xs_http_request(char *method, char *url, d_char *headers, | |||
| 101 | 101 | ||
| 102 | curl_easy_setopt(curl, CURLOPT_URL, url); | 102 | curl_easy_setopt(curl, CURLOPT_URL, url); |
| 103 | 103 | ||
| 104 | curl_easy_setopt(curl, CURLOPT_TIMEOUT, 8L); | 104 | if (timeout <= 0) |
| 105 | timeout = 8; | ||
| 106 | |||
| 107 | curl_easy_setopt(curl, CURLOPT_TIMEOUT, (long) timeout); | ||
| 105 | 108 | ||
| 106 | #ifdef FORCE_HTTP_1_1 | 109 | #ifdef FORCE_HTTP_1_1 |
| 107 | /* force HTTP/1.1 */ | 110 | /* force HTTP/1.1 */ |