libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop to integrate well with GNOME applications and also has a synchronous API for use in CLI tools.
Both asynchronous (GMainLoop and callback-based) and synchronous APIs
- Automatic connection caching and reuse.
- TLS support using GnuTLS, OpenSSL, or SChannel (provided by glib-networking).
- Proxy support, including authentication and SSL tunneling (provided by glib-networking).
- Support for HTTP/1.1 and HTTP/2 (client-only)
- Client support for Digest, NTLM, and Basic authentication
- Server support for Digest and Basic authentication
You can check out the current development snapshot using:
git clone https://gitlab.gnome.org/GNOME/libsoup.git