mirror of
https://github.com/khoih-prog/AsyncHTTPRequest_Generic.git
synced 2025-07-29 18:07:15 +02:00
v1.10.1 to fix bug of wrong reqStates
### Releases v1.10.1 1. Fix bug of wrong `reqStates` 2. Optional larger `DEFAULT_RX_TIMEOUT` from default 3s, for slower networks
This commit is contained in:
@ -12,6 +12,7 @@
|
||||
## Table of Contents
|
||||
|
||||
* [Changelog](#changelog)
|
||||
* [Releases v1.10.1](#releases-v1101)
|
||||
* [Releases v1.10.0](#releases-v1100)
|
||||
* [Releases v1.9.2](#releases-v192)
|
||||
* [Releases v1.9.1](#releases-v191)
|
||||
@ -43,6 +44,11 @@
|
||||
|
||||
## Changelog
|
||||
|
||||
### Releases v1.10.1
|
||||
|
||||
1. Fix bug of wrong `reqStates`
|
||||
2. Optional larger `DEFAULT_RX_TIMEOUT` from default 3s, for slower networks
|
||||
|
||||
### Releases v1.10.0
|
||||
|
||||
1. Fix bug.
|
||||
|
@ -24,8 +24,8 @@
|
||||
//char GET_ServerAddress[] = "192.168.2.110/";
|
||||
char GET_ServerAddress[] = "http://worldtimeapi.org/api/timezone/America/Toronto.txt";
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -35,8 +35,8 @@ const char GET_ServerAddress[] = "dweet.io";
|
||||
// use your own thing name here
|
||||
String dweetName = "/dweet/for/currentSecond?second=";
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -29,8 +29,8 @@ const char POST_ServerAddress[] = "dweet.io";
|
||||
// use your own thing name here
|
||||
String dweetName = "/dweet/for/pinA0-Read?";
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -44,8 +44,8 @@
|
||||
#error This code is intended to run on the ESP8266 or ESP32 platform! Please check your Tools->Board setting.
|
||||
#endif
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// Level from 0-4
|
||||
#define ASYNC_HTTP_DEBUG_PORT Serial
|
||||
@ -68,6 +68,9 @@ const char* password = "your_pass";
|
||||
#include <WiFi.h>
|
||||
#endif
|
||||
|
||||
// Seconds for timeout, default is 3s
|
||||
#define DEFAULT_RX_TIMEOUT 10
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // https://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
||||
|
@ -65,8 +65,11 @@ const char* password = "your_pass";
|
||||
#include <WiFi.h>
|
||||
#endif
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// Seconds for timeout, default is 3s
|
||||
#define DEFAULT_RX_TIMEOUT 10
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // https://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
@ -95,8 +95,11 @@ using TCPClient = WiFiClient;
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// Seconds for timeout, default is 3s
|
||||
#define DEFAULT_RX_TIMEOUT 10
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // https://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
@ -44,6 +44,9 @@ const char* password = "your_pass";
|
||||
#include <WiFi.h>
|
||||
#endif
|
||||
|
||||
// Seconds for timeout, default is 3s
|
||||
#define DEFAULT_RX_TIMEOUT 10
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // http://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
||||
|
@ -49,8 +49,8 @@
|
||||
#define ESP_ASYNC_WIFIMANAGER_VERSION_MIN_TARGET "ESPAsync_WiFiManager v1.15.0"
|
||||
#define ESP_ASYNC_WIFIMANAGER_VERSION_MIN 1015000
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// Level from 0-4
|
||||
#define ASYNC_HTTP_DEBUG_PORT Serial
|
||||
|
@ -42,8 +42,8 @@
|
||||
|
||||
#include "defines.h"
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -24,8 +24,8 @@
|
||||
//char GET_ServerAddress[] = "ipv4bot.whatismyipaddress.com/";
|
||||
char GET_ServerAddress[] = "http://worldtimeapi.org/api/timezone/America/Toronto.txt";
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -26,8 +26,8 @@ const char GET_ServerAddress[] = "arduino.tips";
|
||||
// GET location
|
||||
String GET_Location = "/asciilogo.txt";
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// 600s = 10 minutes to not flooding, 60s in testing
|
||||
#define HTTP_REQUEST_INTERVAL_MS 60000 //600000
|
||||
|
@ -57,8 +57,8 @@
|
||||
|
||||
#include <WebServer_WT32_ETH01.h> // https://github.com/khoih-prog/WebServer_WT32_ETH01
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // https://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
@ -57,8 +57,9 @@
|
||||
|
||||
#include <WebServer_WT32_ETH01.h> // https://github.com/khoih-prog/WebServer_WT32_ETH01
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
|
||||
#include <AsyncHTTPRequest_Generic.h> // https://github.com/khoih-prog/AsyncHTTPRequest_Generic
|
||||
|
||||
|
@ -19,8 +19,8 @@
|
||||
#error This code is intended to run on the ESP8266, ESP32 or STM32 platform! Please check your Tools->Board setting.
|
||||
#endif
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN_TARGET "AsyncHTTPRequest_Generic v1.10.1"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MIN 1010001
|
||||
|
||||
#include "multiFileProject.h"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name":"AsyncHTTPRequest_Generic",
|
||||
"version": "1.10.0",
|
||||
"version": "1.10.1",
|
||||
"description":"Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32_S2, ESP32_S3 and ESP32_C3), WT32_ETH01 (ESP32 + LAN8720), ESP8266 (WiFi, W5x00 or ENC28J60) and currently STM32 with built-in LAN8742A Ethernet.",
|
||||
"keywords":"communication, async, tcp, http, ESP8266, ESP32, ESP32-S2, ESP32-S3, ESP32-C3, wt32-eth01, stm32, ethernet, wifi, lan8742a, nucleo-144, stm32f7, W5x00, ENC28J60",
|
||||
"authors": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=AsyncHTTPRequest_Generic
|
||||
version=1.10.0
|
||||
version=1.10.1
|
||||
author=Bob Lemaire,Khoi Hoang <khoih.prog@gmail.com>
|
||||
maintainer=Khoi Hoang <khoih.prog@gmail.com>
|
||||
license=GPLv3
|
||||
|
@ -18,7 +18,7 @@
|
||||
You should have received a copy of the GNU General Public License along with this program.
|
||||
If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Version: 1.10.0
|
||||
Version: 1.10.1
|
||||
|
||||
Version Modified By Date Comments
|
||||
------- ----------- ---------- -----------
|
||||
@ -33,6 +33,7 @@
|
||||
1.9.1 K Hoang 09/09/2022 Fix ESP32 chipID for example `AsyncHTTPRequest_ESP_WiFiManager`
|
||||
1.9.2 K Hoang 18/10/2022 Not try to reconnect to the same host:port after connected
|
||||
1.10.0 K Hoang 20/10/2022 Fix bug. Clean up
|
||||
1.10.1 K Hoang 21/10/2022 Fix bug of wrong reqStates
|
||||
*****************************************************************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
@ -18,7 +18,7 @@
|
||||
You should have received a copy of the GNU General Public License along with this program.
|
||||
If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Version: 1.10.0
|
||||
Version: 1.10.1
|
||||
|
||||
Version Modified By Date Comments
|
||||
------- ----------- ---------- -----------
|
||||
@ -33,6 +33,7 @@
|
||||
1.9.1 K Hoang 09/09/2022 Fix ESP32 chipID for example `AsyncHTTPRequest_ESP_WiFiManager`
|
||||
1.9.2 K Hoang 18/10/2022 Not try to reconnect to the same host:port after connected
|
||||
1.10.0 K Hoang 20/10/2022 Fix bug. Clean up
|
||||
1.10.1 K Hoang 21/10/2022 Fix bug of wrong reqStates
|
||||
*****************************************************************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
@ -18,7 +18,7 @@
|
||||
You should have received a copy of the GNU General Public License along with this program.
|
||||
If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Version: 1.10.0
|
||||
Version: 1.10.1
|
||||
|
||||
Version Modified By Date Comments
|
||||
------- ----------- ---------- -----------
|
||||
@ -33,6 +33,7 @@
|
||||
1.9.1 K Hoang 09/09/2022 Fix ESP32 chipID for example `AsyncHTTPRequest_ESP_WiFiManager`
|
||||
1.9.2 K Hoang 18/10/2022 Not try to reconnect to the same host:port after connected
|
||||
1.10.0 K Hoang 20/10/2022 Fix bug. Clean up
|
||||
1.10.1 K Hoang 21/10/2022 Fix bug of wrong reqStates
|
||||
*****************************************************************************************************************************/
|
||||
|
||||
#pragma once
|
||||
@ -42,13 +43,13 @@
|
||||
|
||||
////////////////////////////////////////
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.10.0"
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.10.1"
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MAJOR 1
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MINOR 10
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_PATCH 0
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_PATCH 1
|
||||
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_INT 1010000
|
||||
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_INT 1010001
|
||||
|
||||
////////////////////////////////////////
|
||||
|
||||
@ -179,8 +180,7 @@ class xbuf: public Print
|
||||
|
||||
String peekString(int);
|
||||
|
||||
/* In addition to the above functions,
|
||||
the following inherited functions from the Print class are available.
|
||||
/* In addition to the above functions, the following inherited functions from the Print class are available.
|
||||
|
||||
size_t printf(const char * format, ...) __attribute__ ((format (printf, 2, 3)));
|
||||
size_t printf_P(PGM_P format, ...) __attribute__((format(printf, 2, 3)));
|
||||
@ -230,7 +230,9 @@ class xbuf: public Print
|
||||
DEBUG_IOTA_PORT.printf("Debug(%3ld): ", millis()-_requestStartTime);\
|
||||
DEBUG_IOTA_PORT.printf_P(PSTR(format),##__VA_ARGS__);}
|
||||
|
||||
#define DEFAULT_RX_TIMEOUT 3 // Seconds for timeout
|
||||
#if !defined(DEFAULT_RX_TIMEOUT)
|
||||
#define DEFAULT_RX_TIMEOUT 3 // Seconds for timeout
|
||||
#endif
|
||||
|
||||
////////////////////////////////////////
|
||||
|
||||
@ -275,23 +277,20 @@ class AsyncHTTPRequest
|
||||
SAFE_DELETE_ARRAY(name)
|
||||
SAFE_DELETE_ARRAY(value)
|
||||
SAFE_DELETE(next)
|
||||
//delete[] name;
|
||||
//delete[] value;
|
||||
//delete next;
|
||||
}
|
||||
};
|
||||
|
||||
struct URL
|
||||
{
|
||||
char *buffer;
|
||||
char *scheme;
|
||||
char *host;
|
||||
int port;
|
||||
char *path;
|
||||
char *query;
|
||||
char *buffer;
|
||||
char *scheme;
|
||||
char *host;
|
||||
int port;
|
||||
char *path;
|
||||
char *query;
|
||||
|
||||
URL(): buffer(nullptr), scheme(nullptr), host(nullptr),
|
||||
port(80), path(nullptr), query(nullptr)
|
||||
URL(): buffer(nullptr), scheme(nullptr), host(nullptr),
|
||||
port(80), path(nullptr), query(nullptr)
|
||||
{};
|
||||
|
||||
~URL()
|
||||
@ -322,8 +321,7 @@ class AsyncHTTPRequest
|
||||
bool debug(); // is debug on or off?
|
||||
|
||||
bool open(const char* /*GET/POST*/, const char* URL); // Initiate a request
|
||||
void onReadyStateChange(readyStateChangeCB, void* arg = 0); // Optional event handler for ready state change
|
||||
// or you can simply poll readyState()
|
||||
void onReadyStateChange(readyStateChangeCB, void* arg = 0); // Optional event handler for ready state change or you can simply poll readyState()
|
||||
void setTimeout(int); // overide default timeout (seconds)
|
||||
|
||||
void setReqHeader(const char* name, const char* value); // add a request header
|
||||
@ -337,7 +335,7 @@ class AsyncHTTPRequest
|
||||
#endif
|
||||
|
||||
bool send(); // Send the request (GET)
|
||||
bool send(const String& body); // Send the request (POST)
|
||||
bool send(const String& body); // Send the request (POST)
|
||||
bool send(const char* body); // Send the request (POST)
|
||||
bool send(const uint8_t* buffer, size_t len); // Send the request (POST) (binary data?)
|
||||
bool send(xbuf* body, size_t len); // Send the request (POST) data in an xbuf
|
||||
|
@ -18,7 +18,7 @@
|
||||
You should have received a copy of the GNU General Public License along with this program.
|
||||
If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Version: 1.10.0
|
||||
Version: 1.10.1
|
||||
|
||||
Version Modified By Date Comments
|
||||
------- ----------- ---------- -----------
|
||||
@ -33,6 +33,7 @@
|
||||
1.9.1 K Hoang 09/09/2022 Fix ESP32 chipID for example `AsyncHTTPRequest_ESP_WiFiManager`
|
||||
1.9.2 K Hoang 18/10/2022 Not try to reconnect to the same host:port after connected
|
||||
1.10.0 K Hoang 20/10/2022 Fix bug. Clean up
|
||||
1.10.1 K Hoang 21/10/2022 Fix bug of wrong reqStates
|
||||
*****************************************************************************************************************************/
|
||||
|
||||
#pragma once
|
||||
@ -162,6 +163,7 @@ size_t xbuf::read(uint8_t* buf, const size_t len)
|
||||
size_t supply = (_offset + _used) > _segSize ? _segSize - _offset : _used;
|
||||
size_t demand = len - read;
|
||||
size_t chunk = supply < demand ? supply : demand;
|
||||
|
||||
memcpy(buf + read, _head->data + _offset, chunk);
|
||||
_offset += chunk;
|
||||
_used -= chunk;
|
||||
@ -405,20 +407,17 @@ void xbuf::addSeg()
|
||||
}
|
||||
else
|
||||
{
|
||||
// KH, Must check NULL here
|
||||
_tail = _tail->next;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// KH, Must check NULL here
|
||||
_tail = _head = (xseg*) new uint32_t[_segSize / 4 + 1];
|
||||
|
||||
if (_tail == NULL)
|
||||
AHTTP_LOGERROR(F("xbuf::addSeg: error new 2"));
|
||||
}
|
||||
|
||||
// KH, Must check NULL here
|
||||
if (_tail)
|
||||
_tail->next = nullptr;
|
||||
|
||||
@ -811,35 +810,35 @@ int AsyncHTTPRequest::responseHTTPcode()
|
||||
|
||||
String AsyncHTTPRequest::responseHTTPString()
|
||||
{
|
||||
switch(_HTTPcode)
|
||||
{
|
||||
case 0:
|
||||
return F("OK");
|
||||
case HTTPCODE_CONNECTION_REFUSED:
|
||||
return F("CONNECTION_REFUSED");
|
||||
case HTTPCODE_SEND_HEADER_FAILED:
|
||||
return F("SEND_HEADER_FAILED");
|
||||
case HTTPCODE_SEND_PAYLOAD_FAILED:
|
||||
return F("SEND_PAYLOAD_FAILED");
|
||||
case HTTPCODE_NOT_CONNECTED:
|
||||
return F("NOT_CONNECTED");
|
||||
case HTTPCODE_CONNECTION_LOST:
|
||||
return F("CONNECTION_LOST");
|
||||
case HTTPCODE_NO_STREAM:
|
||||
return F("NO_STREAM");
|
||||
case HTTPCODE_NO_HTTP_SERVER:
|
||||
return F("NO_HTTP_SERVER");
|
||||
case HTTPCODE_TOO_LESS_RAM:
|
||||
return F("TOO_LESS_RAM");
|
||||
case HTTPCODE_ENCODING:
|
||||
return F("ENCODING");
|
||||
case HTTPCODE_STREAM_WRITE:
|
||||
return F("STREAM_WRITE");
|
||||
case HTTPCODE_TIMEOUT:
|
||||
return F("TIMEOUT");
|
||||
|
||||
// HTTP positive code
|
||||
case 100: return F("Continue");
|
||||
switch(_HTTPcode)
|
||||
{
|
||||
case 0:
|
||||
return F("OK");
|
||||
case HTTPCODE_CONNECTION_REFUSED:
|
||||
return F("CONNECTION_REFUSED");
|
||||
case HTTPCODE_SEND_HEADER_FAILED:
|
||||
return F("SEND_HEADER_FAILED");
|
||||
case HTTPCODE_SEND_PAYLOAD_FAILED:
|
||||
return F("SEND_PAYLOAD_FAILED");
|
||||
case HTTPCODE_NOT_CONNECTED:
|
||||
return F("NOT_CONNECTED");
|
||||
case HTTPCODE_CONNECTION_LOST:
|
||||
return F("CONNECTION_LOST");
|
||||
case HTTPCODE_NO_STREAM:
|
||||
return F("NO_STREAM");
|
||||
case HTTPCODE_NO_HTTP_SERVER:
|
||||
return F("NO_HTTP_SERVER");
|
||||
case HTTPCODE_TOO_LESS_RAM:
|
||||
return F("TOO_LESS_RAM");
|
||||
case HTTPCODE_ENCODING:
|
||||
return F("ENCODING");
|
||||
case HTTPCODE_STREAM_WRITE:
|
||||
return F("STREAM_WRITE");
|
||||
case HTTPCODE_TIMEOUT:
|
||||
return F("TIMEOUT");
|
||||
|
||||
// HTTP positive code
|
||||
case 100: return F("Continue");
|
||||
case 101: return F("Switching Protocols");
|
||||
case 200: return F("HTTP OK");
|
||||
case 201: return F("Created");
|
||||
@ -879,8 +878,8 @@ String AsyncHTTPRequest::responseHTTPString()
|
||||
case 503: return F("Service Unavailable");
|
||||
case 504: return F("Gateway Time-out");
|
||||
case 505: return F("HTTP Version not supported");
|
||||
default: return "UNKNOWN";
|
||||
}
|
||||
default: return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
@ -898,13 +897,14 @@ String AsyncHTTPRequest::responseText()
|
||||
return String();
|
||||
}
|
||||
|
||||
size_t avail = available();
|
||||
|
||||
size_t avail = available();
|
||||
|
||||
String localString = _response->readString(avail);
|
||||
|
||||
if (localString.length() < avail)
|
||||
{
|
||||
AHTTP_LOGWARN(F("!responseText() no buffer"))
|
||||
|
||||
_HTTPcode = HTTPCODE_TOO_LESS_RAM;
|
||||
_client->abort();
|
||||
_AHTTP_unlock;
|
||||
@ -1248,13 +1248,10 @@ size_t AsyncHTTPRequest::_send()
|
||||
if ( ! _request)
|
||||
return 0;
|
||||
|
||||
if ( ! _client->connected())
|
||||
if ( ! _client->connected())
|
||||
{
|
||||
// KH fix bug https://github.com/khoih-prog/AsyncHTTPRequest_Generic/issues/38
|
||||
_HTTPcode = HTTPCODE_NOT_CONNECTED;
|
||||
_setReadyState(readyStateDone);
|
||||
|
||||
///////////////////////////
|
||||
_timeout = DEFAULT_RX_TIMEOUT;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1262,7 +1259,7 @@ size_t AsyncHTTPRequest::_send()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
size_t supply = _request->available();
|
||||
size_t demand = _client->space();
|
||||
|
||||
|
Reference in New Issue
Block a user