Cocktail Frank 01d9fc61fc Add ability to make HTTP requests
Add an HTTP library to the `sb::cloud` namespace, mainly consisting of
an HTTP class and Request class. The HTTP class launches and manages a
queue of Request objects. Request objects are used to send HTTP GET and
POST requests. The library is implemented using lower level libraries -
Emscripten's Fetch API for WASM builds and cURL for all other builds.

Initialize both HTTP and Steam with a single function at
`sb:☁️:init`, and quit both HTTP and Steam with `sb:☁️:quit`.

Add an HTTP test program. For Emscripten HTTP tests, there is a
separate program built without Catch2 because Catch2 requires Asyncify,
which isn't compatible with Emscripten's Fetch API.

Add a cURL section to the test program's Makefile which handles
including cURL headers and linking to the cURL library on each
platform.

Pass version string into Ubuntu Docker builds of the test program, and
remove the connection between the container and the host's Git
directory because it is not necessary anymore.

Separate flags for building the test program for Emscripten with
Asyncify+Catch2 and Emscripten with the Fetch API.

Add documentation for the HTTP library and tests to the README.

Update the Ubuntu 18 Docker file to install libcurl with SSL.

Pack the Linux debug build into a ZIP archive like the regular build
after building, primarily so the Docker debug build can be pulled from
the container.

Add remote X connection to the Docker container build of the test
program, so the test program can access the display when run from
within the container.
2025-04-08 19:54:38 -04:00
..
2025-04-08 19:54:38 -04:00