Using WebSocketClient::begin I got into problems where `status = responseStatusCode();` would be trying to read the HTTP header, but because both HttpClient and WebSocketClient have a read function, the read from WebSocketClient was used, which returns a bunch of gibberish. This caused the WebSocket to think that the connection was not successfully upgraded.
`library.json` is PlatformIO's native library manifest file but Arduino's `library.properties` is also supported by
PlatformIO:
https://docs.platformio.org/en/latest/librarymanager/creating.html#creating-library
The `library.json` file was missing the required `version` field:
https://docs.platformio.org/en/latest/librarymanager/config.html#version
Although it could be added, experience with other libraries indicates that it is not really realistic to expect two
manifest files to be properly maintained.
Since the Arduino development software and the Arduino Library Manager requires `library.properties`, if we are to have
only one the choice of keeping `library.properties` and removing `library.json` is clear.
On every push that changes relevant files, and periodically, configure the repository's issue and pull request labels
according to the universal, shared, and local label configuration files.
On every push, pull request, and periodically, use the codespell-project/actions-codespell action to check for commonly
misspelled words.
In the event of a false positive, the problematic word should be added, in all lowercase, to the ignore-words-list field
of ./.codespellrc. Regardless of the case of the word in the false positive, it must be in all lowercase in the ignore
list. The ignore list is comma-separated with no spaces.
Dependabot will periodically check the versions of all actions used in the repository's workflows. If any are found to
be outdated, it will submit a pull request to update them.
NOTE: Dependabot's PRs will sometimes try to pin to the patch version of the action (e.g., updating `uses: foo/bar@v1`
to `uses: foo/bar@v2.3.4`). When the action author has provided a major version ref, use that instead
(e.g., `uses: foo/bar@v2`). Dependabot will automatically close its PR once the workflow has been updated.
More information:
https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
* Fix -Wlogical-not-parentheses warning
The warning occurs because `operator!()` has higher precedence than `operator>()`.
Alternatively, we can use:
```
iClient->connect(iServerAddress, iServerPort) <= 0
```
Error in question:
ArduinoHttpClient/src/HttpClient.h: In member function 'virtual void HttpClient::flush()':
ArduinoHttpClient/src/HttpClient.h:310:50: error: return-statement with a value, in function returning 'void' [-fpermissive]