* 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.
* 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
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.
* 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.
* Add handlers by URL templates
This change allows add handlers by URL templates.
For example:
server.on("/gpio*", handleGpio);
server.on("/irsend*", handleIrsend);
The "handleGpio" handler will handle all requests starting with "/gpio" and manage all GPIOs.
The "handleGpio" handler will handle all requests starting with "/irsend" and forward commands to IR manager.
* String::replace method changed to String::substring() method
* Update AsyncJson.h
Adding PrettyAsyncJsonResponse class
* Update AsyncJson.h
* Adding a PrettyAsyncJsonResponse class
json response is more human readable than with AsyncJsonResponse
* Added handler for correct JSON deserialization (even with multiple body data writes), addresses #195
* Fixed typo
* Added JSON handler example to readme
* Moved Json Handler uri parameter to constructor
* Use request->_tempObject for JSON char data buffer
* Moved onRequest to constructor in JSON async handler