SoupContentDecoder

SoupContentDecoder — Content-Encoding handler

Synopsis

#include <libsoup/soup.h>

                    SoupContentDecoder;

Object Hierarchy

  GObject
   +----SoupContentDecoder

Implemented Interfaces

SoupContentDecoder implements SoupSessionFeature and SoupContentProcessor.

Description

SoupContentDecoder handles the "Accept-Encoding" header on outgoing messages, and the "Content-Encoding" header on incoming ones. If you add it to a session with soup_session_add_feature() or soup_session_add_feature_by_type(), the session will automatically use Content-Encoding as appropriate.

(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.)

If SoupContentDecoder successfully decodes the Content-Encoding, it will set the SOUP_MESSAGE_CONTENT_DECODED flag on the message, and the message body and the chunks in the "got_chunk" signals 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 (and the SOUP_MESSAGE_CONTENT_DECODED flag will not be set).

Details

SoupContentDecoder

typedef struct _SoupContentDecoder SoupContentDecoder;