Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

Commit

Permalink
v1.13.0 for LwIP W6100 and fix bug
Browse files Browse the repository at this point in the history
### Releases v1.13.0

1. Add support to ESP32 boards using `LwIP W6100 Ethernet`
2. Fix bug of `_parseURL()`. Check [Bug with _parseURL() #21](khoih-prog/AsyncHTTPSRequest_Generic#21)
3. Improve `README.md` so that links can be used in other sites, such as `PIO`
  • Loading branch information
khoih-prog authored Feb 1, 2023
1 parent cad009d commit c9a376e
Show file tree
Hide file tree
Showing 10 changed files with 361 additions and 250 deletions.
12 changes: 9 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,32 @@ However, before reporting a bug please check through the following:

If you don't find anything, please [open a new issue](https://github.com/khoih-prog/AsyncHTTPRequest_Generic/issues/new).

---

### How to submit a bug report

Please ensure to specify the following:

* Arduino IDE version (e.g. 1.8.19) or Platform.io version
* `ESP8266`,`ESP32` or `STM32` Core Version (e.g. ESP8266 core v3.0.2, ESP32 v2.0.5 or STM32 v2.3.0)
* `ESP8266` or`ESP32` Core Version (e.g. ESP8266 core v3.1.1, ESP32 v2.0.6)
* Contextual information (e.g. what you were trying to achieve)
* Simplest possible steps to reproduce
* Anything that might be relevant in your opinion, such as:
* Operating system (Windows, Ubuntu, etc.) and the output of `uname -a`
* Network configuration


Please be educated, civilized and constructive as you've always been. Disrespective posts against [GitHub Code of Conduct](https://docs.github.com/en/site-policy/github-terms/github-event-code-of-conduct) will be ignored and deleted.

---

### Example

```
Arduino IDE version: 1.8.19
ESP32 Core Version 2.0.5
ESP32 Core Version 2.0.6
OS: Ubuntu 20.04 LTS
Linux xy-Inspiron-3593 5.15.0-53-generic #59~20.04.1-Ubuntu SMP Thu Oct 20 15:10:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Linux xy-Inspiron-3593 5.15.0-58-generic #64~20.04.1-Ubuntu SMP Fri Jan 6 16:42:31 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Context:
I encountered a crash while using this library
Expand Down
510 changes: 286 additions & 224 deletions README.md

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,14 @@
<a href="https://www.buymeacoffee.com/khoihprog6" title="Donate to my libraries using BuyMeACoffee"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Donate to my libraries using BuyMeACoffee" style="height: 50px !important;width: 181px !important;" ></a>
<a href="https://www.buymeacoffee.com/khoihprog6" title="Donate to my libraries using BuyMeACoffee"><img src="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-orange.svg?logo=buy-me-a-coffee&logoColor=FFDD00" style="height: 20px !important;width: 200px !important;" ></a>


---
---

## Table of Contents

* [Changelog](#changelog)
* [Releases v1.13.0](#releases-v1130)
* [Releases v1.12.0](#releases-v1120)
* [Releases v1.11.0](#releases-v1110)
* [Releases v1.10.2](#releases-v1102)
Expand Down Expand Up @@ -51,6 +53,12 @@

## Changelog

### Releases v1.13.0

1. Add support to ESP32 boards using `LwIP W6100 Ethernet`
2. Fix bug of `_parseURL()`. Check [Bug with _parseURL() #21](https://github.com/khoih-prog/AsyncHTTPSRequest_Generic/issues/21)
3. Improve `README.md` so that links can be used in other sites, such as `PIO`

### Releases v1.12.0

1. Add support to ESP32 boards using `LwIP W5500 Ethernet`
Expand Down
16 changes: 11 additions & 5 deletions library.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name":"AsyncHTTPRequest_Generic",
"version": "1.12.0",
"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), ESP32 with LwIP ENC28J60, ESP8266 (WiFi, W5x00 or ENC28J60) and currently STM32 with LAN8720 or 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",
"version": "1.13.0",
"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), ESP32 with LwIP ENC28J60, W5500 or W6100, ESP8266 (WiFi, W5x00 or ENC28J60) and currently STM32 with LAN8720 or 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, w6100, lwip, lwip-ethernet",
"authors": [
{
"name": "Bob Lemaire",
Expand Down Expand Up @@ -69,13 +69,19 @@
{
"owner": "khoih-prog",
"name": "WebServer_ESP32_ENC",
"version": ">=1.5.1",
"version": ">=1.5.3",
"platforms": ["espressif32"]
},
{
"owner": "khoih-prog",
"name": "WebServer_ESP32_W5500",
"version": ">=1.5.1",
"version": ">=1.5.3",
"platforms": ["espressif32"]
},
{
"owner": "khoih-prog",
"name": "WebServer_ESP32_W6100",
"version": ">=1.5.3",
"platforms": ["espressif32"]
},
{
Expand Down
6 changes: 3 additions & 3 deletions library.properties
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
name=AsyncHTTPRequest_Generic
version=1.12.0
version=1.13.0
author=Bob Lemaire,Khoi Hoang <khoih.prog@gmail.com>
maintainer=Khoi Hoang <khoih.prog@gmail.com>
license=GPLv3
sentence=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), ESP32 with LwIP ENC28J60, ESP8266 (WiFi, W5x00 or ENC28J60) and currently STM32 with LAN8720 or built-in LAN8742A Ethernet.
sentence=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), ESP32 with LwIP ENC28J60, W5500 or W6100, ESP8266 (WiFi, W5x00 or ENC28J60) and currently STM32 with LAN8720 or built-in LAN8742A Ethernet.
paragraph=This AsyncHTTPRequest_Generic Library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, for ESP32 (including WT32_ETH01, LwIP ENC28J60), ESP8266 (WiFi, W5x00 or ENC28J60) and STM32 built-in LAN8742A Ethernet, such as Nucleo-144 F767ZI, etc.
category=Communication
url=https://github.com/khoih-prog/AsyncHTTPRequest_Generic
architectures=*
depends=ESPAsync_WiFiManager, STM32duino LwIP, STM32duino STM32Ethernet, WebServer_WT32_ETH01, WebServer_ESP32_ENC, WebServer_ESP32_W5500
depends=ESPAsync_WiFiManager, STM32duino LwIP, STM32duino STM32Ethernet, WebServer_WT32_ETH01, WebServer_ESP32_ENC, WebServer_ESP32_W5500, WebServer_ESP32_W6100
includes=AsyncHTTPRequest_Generic.h, AsyncHTTPRequest_Generic.hpp
16 changes: 12 additions & 4 deletions platformio/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ lib_deps =
; ESPAsync_WiFiManager@>=1.15.1
; LittleFS_esp32@>=1.0.6
; WebServer_WT32_ETH01@>=1.5.1
; WebServer_ESP32_ENC@>=1.5.1
; WebServer_ESP32_ENC@>=1.5.3
; WebServer_ESP32_W5500@>=1.5.3
; WebServer_ESP32_W6100@>=1.5.3
;
; PlatformIO 5.x
; me-no-dev/AsyncTCP@>=1.1.1
Expand All @@ -60,7 +62,9 @@ lib_deps =
; khoih-prog/ESPAsync_WiFiManager@>=1.15.1
; lorol/LittleFS_esp32@>=1.0.6
; khoih-prog/WebServer_WT32_ETH01@>=1.5.1
; khoih-prog/WebServer_ESP32_ENC@>=1.5.1
; khoih-prog/WebServer_ESP32_ENC@>=1.5.3
; khoih-prog/WebServer_ESP32_W5500@>=1.5.3
; khoih-prog/WebServer_ESP32_W6100@>=1.5.3

build_flags =
; set your debug output (default=Serial)
Expand Down Expand Up @@ -133,14 +137,18 @@ lib_deps =
; ESPAsync_WiFiManager@>=1.15.1
; LittleFS_esp32@>=1.0.6
; WebServer_WT32_ETH01@>=1.5.1
; WebServer_ESP32_ENC@>=1.5.1
; WebServer_ESP32_ENC@>=1.5.3
; WebServer_ESP32_W5500@>=1.5.3
; WebServer_ESP32_W6100@>=1.5.3
;
; PlatformIO 5.x
me-no-dev/AsyncTCP@>=1.1.1
khoih-prog/ESPAsync_WiFiManager@>=1.15.1
; lorol/LittleFS_esp32@>=1.0.6
khoih-prog/WebServer_WT32_ETH01@>=1.5.1
khoih-prog/WebServer_ESP32_ENC@>=1.5.1
khoih-prog/WebServer_ESP32_ENC@>=1.5.3
khoih-prog/WebServer_ESP32_W5500@>=1.5.3
khoih-prog/WebServer_ESP32_W6100@>=1.5.3

; ============================================================
; Board configuration
Expand Down
3 changes: 2 additions & 1 deletion src/AsyncHTTPRequest_Debug_Generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.12.0
Version: 1.13.0
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -37,6 +37,7 @@
1.10.2 K Hoang 09/11/2022 Default to reconnect to the same host:port after connected for new HTTP sites
1.11.0 K Hoang 28/11/2022 Add support to ESP32 boards using LwIP ENC28J60 Ethernet
1.12.0 K Hoang 30/11/2022 Add support to ESP32 boards using LwIP W5500 Ethernet. Fix bug
1.13.0 K Hoang 01/02/2023 Add support to ESP32 using LwIP W6100 Ethernet. Fix _parseURL() bug
*****************************************************************************************************************************/

#pragma once
Expand Down
3 changes: 2 additions & 1 deletion src/AsyncHTTPRequest_Generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.12.0
Version: 1.13.0
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -37,6 +37,7 @@
1.10.2 K Hoang 09/11/2022 Default to reconnect to the same host:port after connected for new HTTP sites
1.11.0 K Hoang 28/11/2022 Add support to ESP32 boards using LwIP ENC28J60 Ethernet
1.12.0 K Hoang 30/11/2022 Add support to ESP32 boards using LwIP W5500 Ethernet. Fix bug
1.13.0 K Hoang 01/02/2023 Add support to ESP32 using LwIP W6100 Ethernet. Fix _parseURL() bug
*****************************************************************************************************************************/

#pragma once
Expand Down
9 changes: 5 additions & 4 deletions src/AsyncHTTPRequest_Generic.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.12.0
Version: 1.13.0
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -37,6 +37,7 @@
1.10.2 K Hoang 09/11/2022 Default to reconnect to the same host:port after connected for new HTTP sites
1.11.0 K Hoang 28/11/2022 Add support to ESP32 boards using LwIP ENC28J60 Ethernet
1.12.0 K Hoang 30/11/2022 Add support to ESP32 boards using LwIP W5500 Ethernet. Fix bug
1.13.0 K Hoang 01/02/2023 Add support to ESP32 using LwIP W6100 Ethernet. Fix _parseURL() bug
*****************************************************************************************************************************/

#pragma once
Expand All @@ -46,13 +47,13 @@

////////////////////////////////////////

#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.12.0"
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.13.0"

#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MAJOR 1
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MINOR 12
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_MINOR 13
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_PATCH 0

#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_INT 1012000
#define ASYNC_HTTP_REQUEST_GENERIC_VERSION_INT 1013000

////////////////////////////////////////

Expand Down
28 changes: 23 additions & 5 deletions src/AsyncHTTPRequest_Impl_Generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.12.0
Version: 1.13.0
Version Modified By Date Comments
------- ----------- ---------- -----------
Expand All @@ -37,6 +37,7 @@
1.10.2 K Hoang 09/11/2022 Default to reconnect to the same host:port after connected for new HTTP sites
1.11.0 K Hoang 28/11/2022 Add support to ESP32 boards using LwIP ENC28J60 Ethernet
1.12.0 K Hoang 30/11/2022 Add support to ESP32 boards using LwIP W5500 Ethernet. Fix bug
1.13.0 K Hoang 01/02/2023 Add support to ESP32 using LwIP W6100 Ethernet. Fix _parseURL() bug
*****************************************************************************************************************************/

#pragma once
Expand Down Expand Up @@ -1198,12 +1199,29 @@ bool AsyncHTTPRequest::_parseURL(const String& url)
}

int pathBeg = url.indexOf('/', hostBeg);


int hostEnd;
int portBeg;

if (pathBeg < 0)
return false;
{
if ( url.indexOf(':', hostBeg) < 0 )
{
// No port, just https://www.aaa.com
hostEnd = url.length();
}
else
{
// with port, https://www.aaa.com:443
hostEnd = url.indexOf(':', hostBeg);
}
}
else
{
hostEnd = pathBeg;
}

int hostEnd = pathBeg;
int portBeg = url.indexOf(':', hostBeg);
portBeg = url.indexOf(':', hostBeg);

if (portBeg > 0 && portBeg < pathBeg)
{
Expand Down

0 comments on commit c9a376e

Please sign in to comment.