Commit Graph

317 Commits

Author SHA1 Message Date
c9e4d424d5 More nullptr derefence crash fixes 2021-01-02 17:55:30 +01:00
6ac642b019 Made the extensive logging optional to improve performance 2020-12-20 07:35:52 +01:00
9172736ac2 Removed AsyncWebSocketBuffer 2020-12-20 07:29:33 +01:00
f7c5c452df Code formatting 2020-12-20 05:48:13 +01:00
84833546f0 Removed dumb self written reference counted smart pointer and replaced it with std::shared_ptr 2020-12-20 04:53:18 +01:00
9b98550f64 Fixed mutex dead lock 2020-12-20 04:24:20 +01:00
344d31c1ff Multi-thread queue synchronization for AsyncWebSocketClient 2020-12-20 02:08:39 +01:00
f5e439c8f8 _controlQueue is now a std::queue 2020-12-19 23:26:51 +01:00
8bb1c704cd More crash fixes 2020-12-19 18:57:59 +01:00
2183addab0 Fixed more fuckups of arduino dumb devs 2020-12-16 23:44:12 +01:00
bd4631bd5f std::list instead of shitty self written LinkedList 2020-12-16 23:24:27 +01:00
b045eca49e esp-idf fixes 2020-12-16 18:36:58 +01:00
56d5942f25 Implemented support for custom ip 2020-09-29 14:28:21 +02:00
f13685ee97 AsyncEvents/ServerSideEvents: prevent internal DOS by prevent overflowing messageQueue (#621)
* Prevent tcp/wifi DOS lockup by preventing number of messages in queue, drop otherwise

* Define (renamed) MAX_SSE_Clients
2019-10-17 10:05:13 +03:00
Bob
a84f16989a Make regex a define exclusive (#617)
* Change compiler error to runtime error.
Add compiler warining when a ASYNCWEBSERVER_REGEX function is used, but not enabled

* Update docs for usage in Arduino IDE

* Update docs for platform.local.txt
2019-10-14 23:06:38 +03:00
f3ebe2dea9 Remove warnings for unused params (#620) 2019-10-14 11:30:06 +03:00
Bob
75acf88d5f Add support for Content-Type with charset (#561) 2019-10-06 11:11:51 +03:00
6a1fb03fc4 Fixes #614 with incorrect regex in the example sketch (#615) 2019-10-06 11:08:59 +03:00
83f6b96958 Update install-arduino-ide.sh 2019-10-02 20:02:39 +03:00
01019542c2 Add methods to determine Average Queue length (#509)
* Add methods to determine Average Queue length
2019-10-02 15:33:18 +03:00
4a34b46cc0 make the query parameters available by passing the request to WS_EVT_CONNECT (#559)
Signed-off-by: Arthur Frederico Neves <arthurfred.neves@gmail.com>
2019-10-02 15:16:35 +03:00
e1be51fc8f Set theme jekyll-theme-cayman 2019-10-02 14:57:20 +03:00
b9c4170528 Update README.md 2019-10-02 14:55:37 +03:00
d1747e530f Set theme jekyll-theme-hacker 2019-10-02 14:49:18 +03:00
Bob
6a4e2f5329 Support route parameters with regex patterns (#560)
* Fix compile warnings

* first test

* Add regex path

* Add simple example

* add support for esp8266

* Update AsyncJson.h
2019-10-02 14:37:55 +03:00
403752a942 Added method to access clients of AsyncWebSocket (#583)
* Added method to access clients of AsyncWebSocket

* https://github.com/me-no-dev/ESPAsyncWebServer/issues/571

* Conflict with crypto library
2019-10-02 14:16:43 +03:00
8451c0d0e7 Add CMakeLists.txt file for ESP-IDF (#603) 2019-10-02 14:06:04 +03:00
c7ece88eac Update AsyncJson.h (#604)
remove extra #endif that should have been dropped as part of 59066bd1e4
2019-10-02 13:27:29 +03:00
7b1a3d238b added dependency for PlatformIO ldf_mode off (#605) 2019-10-02 12:33:46 +03:00
e88fc12de8 Make PrettyAsyncJsonResponse to use maxJsonBufferSize for ArduinoJson 6 (#607) 2019-10-02 12:26:01 +03:00
7949d83e91 bump version 2019-10-02 12:09:21 +03:00
14798d0e6a build fixes 2019-10-02 11:41:16 +03:00
a19c32bba3 Simpler pio install 2019-10-02 10:47:32 +03:00
3c6f5f914c Ci update (#610) 2019-10-02 10:32:15 +03:00
2f37037029 Add function so that the total number of web-socket clients can be limited (#591)
* Add function so that the total number of web-socket clients can be limited easily.  This is to cope with a problem when a browser does not close the web-socket connection correctly.  I have observed this on Chromium based browsers.  The memory leak will eventually lead to the server crashing.  Normally only one connection per client is required, so limiting the number of connections would not normally cause any problems.

* Prevent an assertion failure when using WebSockets

Frequently when using Web Sockets you will get the assert failure:
    	assertion "new_rcv_ann_wnd <= 0xffff" failed: file "/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/lwip/lwip/src/core/tcp.c", line 779, function: tcp_update_rcv_ann_wnd

This will happen particulary when you close the browser window.  This change
prevents the issue from occuring.

* Do not use thread locking with the ESP8266, but instead use an empty placeholder class that can be used to implement locking at a later date.

* Do not use thread locking with the ESP8266, but instead use an empty placeholder class that can be used to implement locking at a later date.

* Add function so that the total number of web-socket clients can be limited easily.  This is to cope with a problem when a browser does not close the web-socket connection correctly.  I have observed this on Chromium based browsers.  The memory leak will eventually lead to the server crashing.  Normally only one connection per client is required, so limiting the number of connections would not normally cause any problems.

* Set the default number of ws clients dependent on processor.
2019-09-24 22:42:40 +03:00
f5ee1935c5 Update README.md 2019-09-24 22:33:23 +03:00
59066bd1e4 PrettyAsyncJsonResponse for ArduinoJson 6.x (#539)
* PrettyAsyncJsonResponse for ArduinoJson 6.x

add support for PrettyAsyncJsonResponse in ArduinoJson 6.x

* Update AsyncJson.h

Maintain order of args to AsyncJsonResponse between ArduinoJson 5.x and 6.x compatibility for ease of migration
2019-09-24 21:24:18 +03:00
69aaf767eb Update README.md 2019-09-24 20:13:55 +03:00
a627e66d53 Update README.md 2019-09-24 16:08:59 +03:00
ray
7c6118f2a0 arg should be closed by va_end() (#601) 2019-09-22 08:58:15 +03:00
2b1c5c4d78 Create stale.yml 2019-09-21 15:44:55 +03:00
052df0b6a8 Update build-pio.sh 2019-09-21 15:16:09 +03:00
5ea49e313d Prevent an assertion failure when using WebSockets (#584)
Frequently when using Web Sockets you will get the assert failure:
    	assertion "new_rcv_ann_wnd <= 0xffff" failed: file "/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/lwip/lwip/src/core/tcp.c", line 779, function: tcp_update_rcv_ann_wnd

This will happen particulary when you close the browser window.  This change
prevents the issue from occuring.
2019-09-21 13:27:34 +03:00
41cf4893c6 Setup Github CI (#599)
* Setup Github CI

* Update main.yml

* Update build-pio.sh

* Add error checks to PIO script

* Update build-pio.sh
2019-09-21 12:48:38 +03:00
0769521ef8 Try to build against PIO (#598) 2019-09-21 11:46:53 +03:00
aea43f98d1 Add thread locking to improve stability. (#585)
* Add thread locking to improve stability.

* Do not use thread locking with the ESP8266, but instead use an empty placeholder class that can be used to implement locking at a later date.
2019-09-12 19:56:13 +03:00
f0a1c3d486 Remove old build scripts 2019-09-01 19:57:27 +03:00
29595a7775 Fix Travis builds and add build for ESP8266 (#586)
* Fix Travis builds and add build for ESP8266
2019-09-01 19:56:40 +03:00
b0c6144886 Update AsyncJson.h (#533)
for the newest ArduinoJson v6 compatibility
2019-06-24 17:27:35 +02:00
b3b9ec901a Fix sha1 not defined compilation error (#531) 2019-06-23 06:58:25 +02:00