## GskUrlTransferHttp

GskUrlTransferHttp — An HTTP- or HTTPS-based transfer.

## Synopsis

                        GskUrlTransferHttp;
    void                gsk_url_transfer_http_set_ssl_cert  (GskUrlTransferHttp *http,
                                                             const char *cert_fname);
    void                gsk_url_transfer_http_set_ssl_key   (GskUrlTransferHttp *http,
                                                             const char *key_fname);
    void                gsk_url_transfer_http_set_ssl_password
                                                            (GskUrlTransferHttp *http,
                                                             const char *password);
    void                gsk_url_transfer_http_set_user_agent
                                                            (GskUrlTransferHttp *http,
                                                             const char *user_agent);
    void                gsk_url_transfer_http_add_extra_header
                                                            (GskUrlTransferHttp *http,
                                                             const char *key,
                                                             const char *value);
    void                gsk_url_transfer_http_set_proxy_address
                                                            (GskUrlTransferHttp *http,
                                                             GskSocketAddress *proxy_address);
    void                (*GskUrlTransferHttpRequestModifierFunc)
                                                            (GskHttpRequest *request,
                                                             gpointer mod_data);
    void                gsk_url_transfer_http_add_modifier  (GskUrlTransferHttp *http,
                                                             GskUrlTransferHttpRequestModifierFunc modifier,
                                                             gpointer data,
                                                             GDestroyNotify destroy);

## Object Hierarchy

      GObject
       +----GskUrlTransfer
             +----GskUrlTransferHttp

## Description

A transfer with an HTTP-based URL. In particular, this class defines many HTTP specific configurations.

## Details

### GskUrlTransferHttp

    typedef struct _GskUrlTransferHttp GskUrlTransferHttp;

### gsk_url_transfer_http_set_ssl_cert ()

    void                gsk_url_transfer_http_set_ssl_cert  (GskUrlTransferHttp *http,
                                                             const char *cert_fname);

Set the SSL certificate file for this connection.

`http` : | the transfer to affect.
`cert_fname` : | the certificate filename.

### gsk_url_transfer_http_set_ssl_key ()

    void                gsk_url_transfer_http_set_ssl_key   (GskUrlTransferHttp *http,
                                                             const char *key_fname);

`http` : |
`key_fname` : |

### gsk_url_transfer_http_set_ssl_password ()

    void                gsk_url_transfer_http_set_ssl_password
                                                            (GskUrlTransferHttp *http,
                                                             const char *password);

`http` : |
`password` : |

### gsk_url_transfer_http_set_user_agent ()

    void                gsk_url_transfer_http_set_user_agent
                                                            (GskUrlTransferHttp *http,
                                                             const char *user_agent);

Set the User-Agent to use for this HTTP transaction.

`http` : | the transfer to affect.
`user_agent` : | the User-Agent: header's value for this transfer.

### gsk_url_transfer_http_add_extra_header ()

    void                gsk_url_transfer_http_add_extra_header
                                                            (GskUrlTransferHttp *http,
                                                             const char *key,
                                                             const char *value);

Add an arbitrary header to the HTTP request.

`http` : | the transfer to affect.
`key` : | a HTTP header name
`value` : | the value of that HTTP header.

### gsk_url_transfer_http_set_proxy_address ()

    void                gsk_url_transfer_http_set_proxy_address
                                                            (GskUrlTransferHttp *http,
                                                             GskSocketAddress *proxy_address);

Set an HTTP proxy for this transfer.

`http` : | the transfer to affect.
`proxy_address` : | the socket-address to really connect to.

### GskUrlTransferHttpRequestModifierFunc ()

    void                (*GskUrlTransferHttpRequestModifierFunc)
                                                            (GskHttpRequest *request,
                                                             gpointer mod_data);

`request` : |
`mod_data` : |

### gsk_url_transfer_http_add_modifier ()

    void                gsk_url_transfer_http_add_modifier  (GskUrlTransferHttp *http,
                                                             GskUrlTransferHttpRequestModifierFunc modifier,
                                                             gpointer data,
                                                             GDestroyNotify destroy);

Add a generic transformation to do to the HTTP request header.

`http` : | the transfer to affect.
`modifier` : | function to call to modify the HTTP request header.
`data` : | data to pass to modifier.
`destroy` : | called with data when the modifier is destroyed.

## See Also

GskUrlTransfer.