## soup-message-private

soup-message-private —

## Synopsis

    void        soup_message_run_handlers       (SoupMessage *msg,
                                                 SoupHandlerPhase phase);
    void        soup_message_cleanup_response   (SoupMessage *req);
    void        (*SoupMessageGetHeadersFn)      (SoupMessage *msg,
                                                 GString *headers,
                                                 SoupTransferEncoding *encoding,
                                                 gpointer user_data);
    guint       (*SoupMessageParseHeadersFn)    (SoupMessage *msg,
                                                 char *headers,
                                                 guint header_len,
                                                 SoupTransferEncoding *encoding,
                                                 guint *content_len,
                                                 gpointer user_data);
    void        soup_message_io_client          (SoupMessage *msg,
                                                 SoupSocket *sock,
                                                 SoupMessageGetHeadersFn get_headers_cb,
                                                 SoupMessageParseHeadersFn parse_headers_cb,
                                                 gpointer user_data);
    void        soup_message_io_server          (SoupMessage *msg,
                                                 SoupSocket *sock,
                                                 SoupMessageGetHeadersFn get_headers_cb,
                                                 SoupMessageParseHeadersFn parse_headers_cb,
                                                 gpointer user_data);

## Description

## Details

### soup_message_run_handlers ()

    void        soup_message_run_handlers       (SoupMessage *msg,
                                                 SoupHandlerPhase phase);

Run each `invoke_phase` handler on `msg`. If a handler requeues the message, we stop processing at that point.

`msg` : | a SoupMessage
`phase` : |

### soup_message_cleanup_response ()

    void        soup_message_cleanup_response   (SoupMessage *req);

Cleans up all response data on `req`, so that the request can be sent again and receive a new response. (Eg, as a result of a redirect or authorization request.)

`req` : | a SoupMessage

### SoupMessageGetHeadersFn ()

    void        (*SoupMessageGetHeadersFn)      (SoupMessage *msg,
                                                 GString *headers,
                                                 SoupTransferEncoding *encoding,
                                                 gpointer user_data);

`msg` : |
`headers` : |
`encoding` : |
`user_data` : |

### SoupMessageParseHeadersFn ()

    guint       (*SoupMessageParseHeadersFn)    (SoupMessage *msg,
                                                 char *headers,
                                                 guint header_len,
                                                 SoupTransferEncoding *encoding,
                                                 guint *content_len,
                                                 gpointer user_data);

`msg` : |
`headers` : |
`header_len` : |
`encoding` : |
`content_len` : |
`user_data` : |
Returns : |

### soup_message_io_client ()

    void        soup_message_io_client          (SoupMessage *msg,
                                                 SoupSocket *sock,
                                                 SoupMessageGetHeadersFn get_headers_cb,
                                                 SoupMessageParseHeadersFn parse_headers_cb,
                                                 gpointer user_data);

Begins the process of sending `msg` across `sock`.

Don't call this. Use `soup_message_send_request()`.

`msg` : | a SoupMessage
`sock` : | socket to send `msg` across
`get_headers_cb` : | callback function to generate request headers
`parse_headers_cb` : | callback function to parse response headers
`user_data` : | data to pass to the callbacks

### soup_message_io_server ()

    void        soup_message_io_server          (SoupMessage *msg,
                                                 SoupSocket *sock,
                                                 SoupMessageGetHeadersFn get_headers_cb,
                                                 SoupMessageParseHeadersFn parse_headers_cb,
                                                 gpointer user_data);

Begins the process of receiving a request from `sock` into `msg`.

Don't use this. Use `soup_message_receive_request()` instead.

`msg` : | an empty SoupServerMessage
`sock` : | socket to receive a request on
`get_headers_cb` : | callback function to generate response headers
`parse_headers_cb` : | callback function to parse request headers
`user_data` : | data to pass to the callbacks