mirror of
https://github.com/airgradienthq/arduino.git
synced 2025-07-20 20:22:08 +02:00
Only for tcp timeout
Ignoring connect to server timeout
This commit is contained in:
@ -2,6 +2,13 @@
|
|||||||
#include "AgConfigure.h"
|
#include "AgConfigure.h"
|
||||||
#include "AirGradient.h"
|
#include "AirGradient.h"
|
||||||
#include "Libraries/Arduino_JSON/src/Arduino_JSON.h"
|
#include "Libraries/Arduino_JSON/src/Arduino_JSON.h"
|
||||||
|
#ifdef ESP8266
|
||||||
|
#include <ESP8266HTTPClient.h>
|
||||||
|
#include <ESP8266WiFi.h>
|
||||||
|
#include <WiFiClient.h>
|
||||||
|
#else
|
||||||
|
#include <HTTPClient.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
AgApiClient::AgApiClient(Stream &debug, Configuration &config)
|
AgApiClient::AgApiClient(Stream &debug, Configuration &config)
|
||||||
: PrintLog(debug, "ApiClient"), config(config) {}
|
: PrintLog(debug, "ApiClient"), config(config) {}
|
||||||
@ -51,7 +58,7 @@ bool AgApiClient::fetchServerConfiguration(void) {
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
HTTPClient client;
|
HTTPClient client;
|
||||||
_setHttpClientTimeout(&client);
|
client.setTimeout(timeoutMs);
|
||||||
if (client.begin(uri) == false) {
|
if (client.begin(uri) == false) {
|
||||||
getConfigFailed = true;
|
getConfigFailed = true;
|
||||||
return false;
|
return false;
|
||||||
@ -113,7 +120,7 @@ bool AgApiClient::postToServer(String data) {
|
|||||||
|
|
||||||
WiFiClient wifiClient;
|
WiFiClient wifiClient;
|
||||||
HTTPClient client;
|
HTTPClient client;
|
||||||
_setHttpClientTimeout(&client);
|
client.setTimeout(timeoutMs);
|
||||||
if (client.begin(wifiClient, uri.c_str()) == false) {
|
if (client.begin(wifiClient, uri.c_str()) == false) {
|
||||||
logError("Init client failed");
|
logError("Init client failed");
|
||||||
return false;
|
return false;
|
||||||
@ -192,12 +199,3 @@ void AgApiClient::setApiRoot(const String &apiRoot) { this->apiRoot = apiRoot; }
|
|||||||
void AgApiClient::setTimeout(uint16_t timeoutMs) {
|
void AgApiClient::setTimeout(uint16_t timeoutMs) {
|
||||||
this->timeoutMs = timeoutMs;
|
this->timeoutMs = timeoutMs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Set timeout to both connect to server and tcp connection timeout
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void AgApiClient::_setHttpClientTimeout(HTTPClient *httpClient) {
|
|
||||||
httpClient->setTimeout(timeoutMs);
|
|
||||||
httpClient->setConnectTimeout(timeoutMs);
|
|
||||||
}
|
|
@ -16,14 +16,6 @@
|
|||||||
#include "Main/PrintLog.h"
|
#include "Main/PrintLog.h"
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
#ifdef ESP8266
|
|
||||||
#include <ESP8266HTTPClient.h>
|
|
||||||
#include <ESP8266WiFi.h>
|
|
||||||
#include <WiFiClient.h>
|
|
||||||
#else
|
|
||||||
#include <HTTPClient.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class AgApiClient : public PrintLog {
|
class AgApiClient : public PrintLog {
|
||||||
private:
|
private:
|
||||||
Configuration &config;
|
Configuration &config;
|
||||||
@ -35,8 +27,6 @@ private:
|
|||||||
bool notAvailableOnDashboard = false; // Device not setup on Airgradient cloud dashboard.
|
bool notAvailableOnDashboard = false; // Device not setup on Airgradient cloud dashboard.
|
||||||
uint16_t timeoutMs = 10000; // Default set to 10s
|
uint16_t timeoutMs = 10000; // Default set to 10s
|
||||||
|
|
||||||
void _setHttpClientTimeout(HTTPClient *httpClient);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AgApiClient(Stream &stream, Configuration &config);
|
AgApiClient(Stream &stream, Configuration &config);
|
||||||
~AgApiClient();
|
~AgApiClient();
|
||||||
|
Reference in New Issue
Block a user