1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLOPT_SERVER_RESPONSE_TIMEOUT
5Section: 3
6Source: libcurl
7See-also:
8  - CURLOPT_CONNECTTIMEOUT (3)
9  - CURLOPT_LOW_SPEED_LIMIT (3)
10  - CURLOPT_TIMEOUT (3)
11Protocol:
12  - FTP
13  - IMAP
14  - POP3
15  - SMTP
16  - SFTP
17  - SCP
18---
19
20# NAME
21
22CURLOPT_SERVER_RESPONSE_TIMEOUT - time allowed to wait for server response
23
24# SYNOPSIS
25
26~~~c
27#include <curl/curl.h>
28
29CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVER_RESPONSE_TIMEOUT,
30                          long timeout);
31~~~
32
33# DESCRIPTION
34
35Pass a long. Causes libcurl to set a *timeout* period (in seconds) on the
36amount of time that the server is allowed to take in order to send a response
37message for a command before the session is considered dead. While libcurl is
38waiting for a response, this value overrides CURLOPT_TIMEOUT(3). It is
39recommended that if used in conjunction with CURLOPT_TIMEOUT(3), you set
40CURLOPT_SERVER_RESPONSE_TIMEOUT(3) to a value smaller than
41CURLOPT_TIMEOUT(3).
42
43This option was formerly known as CURLOPT_FTP_RESPONSE_TIMEOUT.
44
45# DEFAULT
46
47None
48
49# EXAMPLE
50
51~~~c
52int main(void)
53{
54  CURL *curl = curl_easy_init();
55  if(curl) {
56    CURLcode res;
57    curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/slow.txt");
58    /* wait no more than 23 seconds */
59    curl_easy_setopt(curl, CURLOPT_SERVER_RESPONSE_TIMEOUT, 23L);
60    res = curl_easy_perform(curl);
61
62    curl_easy_cleanup(curl);
63  }
64}
65~~~
66
67# AVAILABILITY
68
69Added in 7.10.8. Used under this name since 7.20.0
70
71Support for SSH is predicated on a new enough (1.11.0) version of libssh2
72being available when compiling libcurl.
73
74# RETURN VALUE
75
76Returns CURLE_OK if supported, and CURLE_UNKNOWN_OPTION if not. Returns
77CURLE_BAD_FUNCTION_ARGUMENT if set to a negative value or a value that when
78converted to milliseconds is too large.
79