## SoupProxyURIResolver SoupProxyURIResolver |

## Synopsis

    #include <libsoup/soup.h>

                        SoupProxyURIResolver;
    void                (*SoupProxyURIResolverCallback)     (SoupProxyURIResolver *resolver,
                                                             guint status,
                                                             SoupURI *proxy_uri,
                                                             gpointer user_data);
    void                soup_proxy_uri_resolver_get_proxy_uri_async
                                                            (SoupProxyURIResolver *proxy_uri_resolver,
                                                             SoupURI *uri,
                                                             GMainContext *async_context,
                                                             GCancellable *cancellable,
                                                             SoupProxyURIResolverCallback callback,
                                                             gpointer user_data);
    guint               soup_proxy_uri_resolver_get_proxy_uri_sync
                                                            (SoupProxyURIResolver *proxy_uri_resolver,
                                                             SoupURI *uri,
                                                             GCancellable *cancellable,
                                                             SoupURI **proxy_uri);

## Object Hierarchy

      GInterface
       +----SoupProxyURIResolver

## Prerequisites

SoupProxyURIResolver requires GObject.

## Known Implementations

SoupProxyURIResolver is implemented by SoupProxyResolverDefault.

## Description

## Details

### SoupProxyURIResolver

    typedef struct _SoupProxyURIResolver SoupProxyURIResolver;

### SoupProxyURIResolverCallback ()

    void                (*SoupProxyURIResolverCallback)     (SoupProxyURIResolver *resolver,
                                                             guint status,
                                                             SoupURI *proxy_uri,
                                                             gpointer user_data);

Callback for `soup_proxy_uri_resolver_get_proxy_uri_async()`

`resolver` : | the SoupProxyURIResolver
`status` : | a SoupKnownStatusCode
`proxy_uri` : | the resolved proxy URI, or `NULL`
`user_data` : | data passed to `soup_proxy_uri_resolver_get_proxy_uri_async()`

### soup_proxy_uri_resolver_get_proxy_uri_async ()

    void                soup_proxy_uri_resolver_get_proxy_uri_async
                                                            (SoupProxyURIResolver *proxy_uri_resolver,
                                                             SoupURI *uri,
                                                             GMainContext *async_context,
                                                             GCancellable *cancellable,
                                                             SoupProxyURIResolverCallback callback,
                                                             gpointer user_data);

Asynchronously determines a proxy URI to use for `msg` and calls `callback`.

`proxy_uri_resolver` : | the SoupProxyURIResolver
`uri` : | the SoupURI you want a proxy for
`async_context` : | the GMainContext to invoke `callback` in. [allow-none]
`cancellable` : | a GCancellable, or `NULL`
`callback` : | callback to invoke with the proxy address. [scope async]
`user_data` : | data for `callback`

Since 2.26.3

### soup_proxy_uri_resolver_get_proxy_uri_sync ()

    guint               soup_proxy_uri_resolver_get_proxy_uri_sync
                                                            (SoupProxyURIResolver *proxy_uri_resolver,
                                                             SoupURI *uri,
                                                             GCancellable *cancellable,
                                                             SoupURI **proxy_uri);

Synchronously determines a proxy URI to use for `uri`. If `uri` should be sent via proxy, *`proxy_uri` will be set to the URI of the proxy, else it will be set to `NULL`.

`proxy_uri_resolver` : | the SoupProxyURIResolver
`uri` : | the SoupURI you want a proxy for
`cancellable` : | a GCancellable, or `NULL`
`proxy_uri` : | on return, will contain the proxy URI. [out]
Returns : | `SOUP_STATUS_OK` if successful, or a transport-level error.

Since 2.26.3