SoupContentDecoder — Content-Encoding handler

Types and Values

Object Hierarchy

    ╰── SoupContentDecoder

Implemented Interfaces

SoupContentDecoder implements SoupSessionFeature and SoupContentProcessor.


#include <libsoup/soup.h>


SoupContentDecoder handles adding the "Accept-Encoding" header on outgoing messages, and processing the "Content-Encoding" header on incoming ones. Currently it supports the "gzip", "deflate", and "br" content codings.

A SoupContentDecoder will automatically be added to the session by default. (You can use soup_session_remove_feature_by_type() if you don't want this.)

If SoupContentDecoder successfully decodes the Content-Encoding, the message body will contain the decoded data; however, the message headers will be unchanged (and so "Content-Encoding" will still be present, "Content-Length" will describe the original encoded length, etc).

If "Content-Encoding" contains any encoding types that SoupContentDecoder doesn't recognize, then none of the encodings will be decoded.

(Note that currently there is no way to (automatically) use Content-Encoding when sending a request body, or to pick specific encoding types to support.)


Types and Values


typedef struct _SoupContentDecoder SoupContentDecoder;

Class handling decoding of HTTP messages.