Compare commits

..

2 Commits

7 changed files with 22 additions and 13 deletions

View File

@ -12,8 +12,8 @@
"type": "git",
"url": "https://github.com/esphome/ESPAsyncWebServer.git"
},
"version": "3.0.0",
"version": "3.1.0",
"license": "LGPL-3.0",
"frameworks": "arduino",
"platforms": ["espressif8266", "espressif32", "libretuya"]
"platforms": ["espressif8266", "espressif32", "libretiny"]
}

View File

@ -22,7 +22,7 @@
#include <Arduino.h>
#include <Arduino.h>
#if defined(ESP32) || defined(LIBRETUYA)
#if defined(ESP32) || defined(LIBRETINY)
#include <AsyncTCP.h>
#else
#include <ESPAsyncTCP.h>
@ -43,7 +43,7 @@
#endif
#endif
#if defined(ESP32) || defined(LIBRETUYA)
#if defined(ESP32) || defined(LIBRETINY)
#define DEFAULT_MAX_SSE_CLIENTS 8
#else
#define DEFAULT_MAX_SSE_CLIENTS 4

View File

@ -102,7 +102,7 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool
return 0;
}
}
client->send();
if (!client->send()) return 0;
return len;
}

View File

@ -22,13 +22,17 @@
#define ASYNCWEBSOCKET_H_
#include <Arduino.h>
#if defined(ESP32) || defined(LIBRETUYA)
#if defined(ESP32) || defined(LIBRETINY)
#include <AsyncTCP.h>
#ifndef WS_MAX_QUEUED_MESSAGES
#define WS_MAX_QUEUED_MESSAGES 32
#endif
#else
#include <ESPAsyncTCP.h>
#ifndef WS_MAX_QUEUED_MESSAGES
#define WS_MAX_QUEUED_MESSAGES 8
#endif
#endif
#include <ESPAsyncWebServer.h>
#include "AsyncWebSynchronization.h"
@ -40,7 +44,7 @@
#endif
#endif
#if defined(ESP32) || defined(LIBRETUYA)
#if defined(ESP32) || defined(LIBRETINY)
#define DEFAULT_MAX_WS_CLIENTS 8
#else
#define DEFAULT_MAX_WS_CLIENTS 4

View File

@ -5,7 +5,7 @@
#include <ESPAsyncWebServer.h>
#if defined(ESP32) || (defined(LIBRETUYA) && LT_HAS_FREERTOS)
#if defined(ESP32) || (defined(LIBRETINY) && LT_HAS_FREERTOS)
// This is the ESP32 version of the Sync Lock, using the FreeRTOS Semaphore
class AsyncWebLock
@ -84,4 +84,4 @@ public:
}
};
#endif // ASYNCWEBSYNCHRONIZATION_H_
#endif // ASYNCWEBSYNCHRONIZATION_H_

View File

@ -28,7 +28,7 @@
#include "StringArray.h"
#if defined(ESP32) || defined(LIBRETUYA)
#if defined(ESP32) || defined(LIBRETINY)
#include <WiFi.h>
#include <AsyncTCP.h>
#elif defined(ESP8266)

View File

@ -180,10 +180,15 @@ void AsyncWebServerRequest::_onData(void *buf, size_t len){
void AsyncWebServerRequest::_removeNotInterestingHeaders(){
if (_interestingHeaders.containsIgnoreCase("ANY")) return; // nothing to do
for(const auto& header: _headers){
if(!_interestingHeaders.containsIgnoreCase(header->name().c_str())){
auto itr = _headers.begin();
while (itr != _headers.end())
{
const auto header = *itr;
++itr; // ++operator before remove(), otherwise itr becomes invalid
if (!_interestingHeaders.containsIgnoreCase(header->name().c_str()))
_headers.remove(header);
}
}
}