libsoup Reference Manual

This documentation is for libsoup 3.0. You can find older versions online at https://libsoup.org/libsoup-2.4/.


I. Overview
Tutorial
Building with libsoup
Creating a Basic Client
Creating a SoupSession
Downloading Into Memory
Efficiently Streaming Data
Using Asynchronously
Advanced Usage
Customizing Session Options
Adding Session Features
Using a proxy
Using the SoupMessage API
Handling authentication
Everything TLS Related
Accepting Invalid or Pinned Certificates
Setting a Custom CA
Using Client Certificates
Migrating from libsoup 2
II. API Reference
Core HTTP API
HTTP Server
Additional Features
Authentication
Caching
Cookie Storage Support
HSTS Support
Metrics
Web Services APIs
WebSocket Support
Utility API
Index of all symbols
Index of deprecated symbols
<glossary> <title>Annotation Glossary</title> <title>A</title> <glossentry> <glossterm><anchor></anchor>array</glossterm> <glossdef> <para>Parameter points to an array of items.</para> </glossdef> </glossentry> <title>C</title> <glossentry> <glossterm><anchor></anchor>constructor</glossterm> <glossdef> <para>This symbol is a constructor, not a static method.</para> </glossdef> </glossentry> <title>D</title> <glossentry> <glossterm><anchor></anchor>destroy</glossterm> <glossdef> <para>This parameter is a 'destroy_data', for callbacks.</para> </glossdef> </glossentry> <title>E</title> <glossentry> <glossterm><anchor></anchor>element-type</glossterm> <glossdef> <para>Generics and defining elements of containers and arrays.</para> </glossdef> </glossentry> <title>I</title> <glossentry> <glossterm><anchor></anchor>in</glossterm> <glossdef> <para>Parameter for input. Default is transfer none.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>inout</glossterm> <glossdef> <para>Parameter for input and for returning results. Default is transfer full.</para> </glossdef> </glossentry> <title>N</title> <glossentry> <glossterm><anchor></anchor>nullable</glossterm> <glossdef> <para>NULL may be passed as the value in, out, in-out; or as a return value.</para> </glossdef> </glossentry> <title>O</title> <glossentry> <glossterm><anchor></anchor>optional</glossterm> <glossdef> <para>NULL may be passed instead of a pointer to a location.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>out</glossterm> <glossdef> <para>Parameter for returning results. Default is transfer full.</para> </glossdef> </glossentry> <title>R</title> <glossentry> <glossterm><anchor></anchor>rename-to</glossterm> <glossdef> <para>Rename the original symbol's name to SYMBOL.</para> </glossdef> </glossentry> <title>S</title> <glossentry> <glossterm><anchor></anchor>scope async</glossterm> <glossdef> <para>The callback is valid until first called.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>scope call</glossterm> <glossdef> <para>The callback is valid only during the call to the method.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>scope notified</glossterm> <glossdef> <para>The callback is valid until the GDestroyNotify argument is called.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>skip</glossterm> <glossdef> <para>Exposed in C code, not necessarily available in other languages.</para> </glossdef> </glossentry> <title>T</title> <glossentry> <glossterm><anchor></anchor>transfer container</glossterm> <glossdef> <para>The caller owns the data container, but not the data inside it.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>transfer full</glossterm> <glossdef> <para>The caller owns the data, and is responsible for free it.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>transfer none</glossterm> <glossdef> <para>The data is owned by the callee, which is responsible of freeing it.</para> </glossdef> </glossentry> <glossentry> <glossterm><anchor></anchor>type</glossterm> <glossdef> <para>Override the parsed C type with given type.</para> </glossdef> </glossentry> <title>V</title> <glossentry> <glossterm><anchor></anchor>virtual</glossterm> <glossdef> <para>This is the invoker for a virtual method.</para> </glossdef> </glossentry> </glossary>