提交 dd649808 编写于 作者: B boarchuz 提交者: Me No Dev

Add server connect timeout to HTTPClient (#2606)

上级 67ee7c32
...@@ -428,6 +428,15 @@ void HTTPClient::setAuthorization(const char * auth) ...@@ -428,6 +428,15 @@ void HTTPClient::setAuthorization(const char * auth)
} }
} }
/**
* set the timeout (ms) for establishing a connection to the server
* @param connectTimeout int32_t
*/
void HTTPClient::setConnectTimeout(int32_t connectTimeout)
{
_connectTimeout = connectTimeout;
}
/** /**
* set the timeout for the TCP connection * set the timeout for the TCP connection
* @param timeout unsigned int * @param timeout unsigned int
...@@ -442,7 +451,7 @@ void HTTPClient::setTimeout(uint16_t timeout) ...@@ -442,7 +451,7 @@ void HTTPClient::setTimeout(uint16_t timeout)
/** /**
* use HTTP1.0 * use HTTP1.0
* @param timeout * @param use
*/ */
void HTTPClient::useHTTP10(bool useHTTP10) void HTTPClient::useHTTP10(bool useHTTP10)
{ {
...@@ -966,7 +975,7 @@ bool HTTPClient::connect(void) ...@@ -966,7 +975,7 @@ bool HTTPClient::connect(void)
return false; return false;
} }
if(!_client->connect(_host.c_str(), _port)) { if(!_client->connect(_host.c_str(), _port, _connectTimeout)) {
log_d("failed connect to %s:%u", _host.c_str(), _port); log_d("failed connect to %s:%u", _host.c_str(), _port);
return false; return false;
} }
......
...@@ -153,6 +153,7 @@ public: ...@@ -153,6 +153,7 @@ public:
void setUserAgent(const String& userAgent); void setUserAgent(const String& userAgent);
void setAuthorization(const char * user, const char * password); void setAuthorization(const char * user, const char * password);
void setAuthorization(const char * auth); void setAuthorization(const char * auth);
void setConnectTimeout(int32_t connectTimeout);
void setTimeout(uint16_t timeout); void setTimeout(uint16_t timeout);
void useHTTP10(bool usehttp10 = true); void useHTTP10(bool usehttp10 = true);
...@@ -213,6 +214,7 @@ protected: ...@@ -213,6 +214,7 @@ protected:
/// request handling /// request handling
String _host; String _host;
uint16_t _port = 0; uint16_t _port = 0;
int32_t _connectTimeout = -1;
bool _reuse = false; bool _reuse = false;
uint16_t _tcpTimeout = HTTPCLIENT_DEFAULT_TCP_TIMEOUT; uint16_t _tcpTimeout = HTTPCLIENT_DEFAULT_TCP_TIMEOUT;
bool _useHTTP10 = false; bool _useHTTP10 = false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册