The `http_loader` class takes a `WebRequest` with information to send a
web request, and sends it. This uses `libcurl`, which is present from
installation on most major Linux distrobutions (e.g. Fedora, Ubuntu,
PopOS...).
If libcurl is not present on the target system, it will need to be
installed.
This adds a Linux equivalent to file path operations done in the Windows
headers and source files. Some differences that will occur are the
invalid path names and contents, as there are no invalid path names, and
only one invalid path content (excluding non-printable characters) on
Linux.
There are a couple of places where apps can store data in Linux, one is
in the HOME directory, which is being phased out, the second, is in
HOME/.config, and the other is HOME/.local/share. This uses
HOME/.local/share, and since there isn't a common appdata path on Linux
that function will just return the local appdata path.
This is the start of the implementing for the Linux platform.
I aim to make this as similar to the Windows platform as possible,
although due to the fundamental difference in the two OS's, there will
be things that need to be different.
As such, I will be using the Windows platform files as a base, and
reimplementing the functions with Linux equivalents.
I am sure this will have bugs, which by my best attempt will be fixed
when found.