---
title: "W6100 khoih-prog / AsyncHTTPSRequest_ESP32_Ethernet"
url: "https://maker.wiznet.io/eric_g/projects/khoih-prog-asynchttpsrequest-esp32-ethernet/"
markdown_url: "https://maker.wiznet.io/eric_g/projects/khoih-prog-asynchttpsrequest-esp32-ethernet/md"
type: "UCC: User Created Content"
author: "khoih prog"
author_url: "https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "khoih prog"
original_url: "https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet"
published: "2023-02-01"
language: "en"
hardware: ["WIZnet W6100"]
likes: 3
views: 290
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# W6100 khoih-prog / AsyncHTTPSRequest_ESP32_Ethernet

> ESP32 Core v2.0.0+ introduces new enum breaking almost all WT32_ETH01 codes written for core v1.0.6-. It's really strange to define a break

Original author: khoih prog (source: https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet)

## Components

- **WIZnet W6100** x 1 ([docs](https://docs.wiznet.io/Product/iEthernet/W6100/))

## Documents and links

- [Async HTTPS Request](https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet) (code)

## Article

### Principles of operation

This library adds a simple HTTPS layer on top of the [**AsyncTCP_SSL** library](https://github.com/khoih-prog/AsyncTCP_SSL) to **facilitate REST communication from a Client to a Server**. The paradigm is similar to the XMLHttpRequest in Javascript, employing the notion of a ready-state progression through the transaction request.

**Synchronization can be accomplished using callbacks on ready-state change, a callback on data receipt, or simply polling for ready-state change**. Data retrieval can be incremental as received, or bulk retrieved when the transaction completes provided there is enough heap to buffer the entire response.

The underlying buffering uses a new xbuf class. It handles both character and binary data. Class xbuf uses a chain of small (64 byte) segments that are allocated and added to the tail as data is added and deallocated from the head as data is read, achieving the same result as a dynamic circular buffer limited only by the size of heap. The xbuf implements indexOf and readUntil functions.

For short transactions, buffer space should not be an issue. In fact, it can be more economical than other methods that use larger fixed length buffers. Data is acked when retrieved by the caller, so there is some limited flow control to limit heap usage for larger transfers.

Request and response headers are handled in the typical fashion.

Chunked responses are recognized and handled transparently.

This library is based on, modified from:

1. [Bob Lemaire's asyncHTTPrequest Library](https://github.com/boblemaire/asyncHTTPrequest)

2. [Khoi Hoang's AsyncHTTPSRequest_Generic Library](https://github.com/khoih-prog/AsyncHTTPSRequest_Generic)

##### W6100

`FULL_DUPLEX, 100Mbps`

[![](https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet/raw/main/Images/W6100.png)](https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet/raw/main/Images/W6100.png)

---

##### W5500

`FULL_DUPLEX, 100Mbps`

[![](https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet/raw/main/Images/W5500.png)](https://github.com/khoih-prog/AsyncHTTPSRequest_ESP32_Ethernet/raw/main/Images/W5500.png)

---

Source: https://maker.wiznet.io/eric_g/projects/khoih-prog-asynchttpsrequest-esp32-ethernet/
