Basic HTTP *client* module that provides an interface to do GET/POST/PUT/DELETE over HTTP(S), as well as customized requests. Due to the memory constraints on ESP8266, the supported page/body size is limited by available memory. Attempting to receive pages larger than this will fail. If larger page/body sizes are necessary, consider using [`net.createConnection()`](net.md#netcreateconnection) and stream in the data.
Each request method takes a callback which is invoked when the response has been received from the server. The first argument is the status code, which is either a regular HTTP status code, or -1 to denote a DNS, connection or out-of-memory failure, or a timeout (currently at 10 seconds).
For each operation it is possible to provide custom HTTP headers or override standard headers. By default the `Host` header is deduced from the URL and `User-Agent` is `ESP8266`. Note, however, that the `Connection` header *can not* be overridden! It is always set to `close`.
When the callback is invoked, it is passed the HTTP status code, the body as it was received, and a table of the response headers. All the header names have been lower cased
to make it easy to access. If there are multiple headers of the same name, then only the last one is returned.
-`callback` The callback function to be invoked when the response has been received; it is invoked with the arguments `status_code`, `body` and `headers`
-`callback` The callback function to be invoked when the response has been received; it is invoked with the arguments `status_code`, `body` and `headers`
-`callback` The callback function to be invoked when the response has been received; it is invoked with the arguments `status_code`, `body` and `headers`
-`callback` The callback function to be invoked when the response has been received; it is invoked with the arguments `status_code`, `body` and `headers`
-`callback` The callback function to be invoked when the response has been received; it is invoked with the arguments `status_code`, `body` and `headers`