Proxy is:module

Definition of a Proxy type (poly-kinded in GHC)
Handling proxy server settings and their resolution.
This module provides facilities for patching incoming Requests to correct the value of rqClientAddr if the snap server is running behind a proxy. Example usage:
m :: Snap ()
m = undefined  -- code goes here

applicationHandler :: Snap ()
applicationHandler = behindProxy X_Forwarded_For m
TextShow instance for Proxy. Since: 2
A GProxy handles connecting to a remote host via a given type of proxy server. It is implemented by the gio-proxy extension point. The extensions are named after their proxy protocol name. As an example, a SOCKS5 proxy implementation can be retrieved with the name socks5 using the function iOExtensionPointGetExtensionByName. Since: 2.26
Definition of a Proxy type (poly-kinded in GHC)
A light-weight, minimalistic reverse HTTP proxy.
GProxyResolver provides synchronous and asynchronous network proxy resolution. GProxyResolver is used within SocketClient through the method socketConnectableProxyEnumerate. Implementations of GProxyResolver based on libproxy and GNOME settings can be found in glib-networking. GIO comes with an implementation for use inside Flatpak portals. Since: 2.26
A InetSocketAddress representing a connection via a proxy server. Since: 2.26
GProxyAddressEnumerator is a wrapper around SocketAddressEnumerator which takes the SocketAddress instances returned by the SocketAddressEnumerator and wraps them in ProxyAddress instances, using the given ProxyAddressEnumerator:proxyResolver. This enumerator will be returned (for example, by socketConnectableEnumerate) as appropriate when a proxy is configured; there should be no need to manually wrap a SocketAddressEnumerator instance with one.
This module exposes types used to model incoming proxy requests from AWS API Gateway. These types are a light pass over the incoming JSON representation.
This module enable exposes the required types for responding to API Gateway Proxy Events. Responses must return a status, body, and optionaly headers. Multiple smart contructors and helpers are provided to help encapsulated details like header case-insensitivity, multiple header copies, correct base64 encoding, and default content type.
Remove the Proxy, Proxy#, and undefined arguments from functions with proxyless, proxyHashless, and undefinedless, respectively, which produce functions that take type information via GHC's -XTypeApplications extension. See also Data.Proxyless.RequiredTypeArguments for a version of this module that leverages -XRequiredTypeArguments instead of -XTypeApplications. This module is only available with GHC 8.0 or later. Since: 0.2
A GDBusObjectProxy is an object used to represent a remote object with one or more D-Bus interfaces. Normally, you don’t instantiate a GDBusObjectProxy yourself — typically DBusObjectManagerClient is used to obtain it. Since: 2.30
GDBusProxy is a base class used for proxies to access a D-Bus interface on a remote object. A GDBusProxy can be constructed for both well-known and unique names. By default, GDBusProxy will cache all properties (and listen to changes) of the remote object, and proxy all signals that get emitted. This behaviour can be changed by passing suitable [flagsgio.DBusProxyFlags] when the proxy is created. If the proxy is for a well-known name, the property cache is flushed when the name owner vanishes and reloaded when a name owner appears. The unique name owner of the proxy’s name is tracked and can be read from DBusProxy:gNameOwner. Connect to the Object::notify signal to get notified of changes. Additionally, only signals and property changes emitted from the current name owner are considered and calls are always sent to the current name owner. This avoids a number of race conditions when the name is lost by one owner and claimed by another. However, if no name owner currently exists, then calls will be sent to the well-known name which may result in the message bus launching an owner (unless G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is set). If the proxy is for a stateless D-Bus service, where the name owner may be started and stopped between calls, the DBusProxy:gNameOwner tracking of GDBusProxy will cause the proxy to drop signal and property changes from the service after it has restarted for the first time. When interacting with a stateless D-Bus service, do not use GDBusProxy — use direct D-Bus method calls and signal connections. The generic DBusProxy::gPropertiesChanged and DBusProxy::gSignal signals are not very convenient to work with. Therefore, the recommended way of working with proxies is to subclass GDBusProxy, and have more natural properties and signals in your derived class. This example shows how this can easily be done using the `gdbus-codegen` tool. A GDBusProxy instance can be used from multiple threads but note that all signals (e.g. DBusProxy::gSignal, DBusProxy::gPropertiesChanged and Object::notify) are emitted in the thread-default main context (see mainContextPushThreadDefault) of the thread where the instance was constructed.

A watch proxy example

An example using a proxy for a well-known name can be found in `gdbus-example-watch-proxy.c`. Since: 2.26
GSimpleProxyResolver is a simple ProxyResolver implementation that handles a single default proxy, multiple URI-scheme-specific proxies, and a list of hosts that proxies should not be used for. GSimpleProxyResolver is never the default proxy resolver, but it can be used as the base class for another proxy resolver implementation, or it can be created and used manually, such as with socketClientSetProxyResolver. Since: 2.36
Public instance data for a MenuitemProxy.
Changes the ProxyHeaderType for TargetSslProxy. See: Compute Engine API Reference for compute.targetSslProxies.setProxyHeader.
Changes the ProxyHeaderType for TargetTcpProxy. See: Compute Engine API Reference for compute.targetTcpProxies.setProxyHeader.
HAProxy proxying protocol support (see http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt) for applications using io-streams. The proxy protocol allows information about a networked peer (like remote address and port) to be propagated through a forwarding proxy that is configured to speak this protocol. This approach is safer than other alternatives like injecting a special HTTP header (like "X-Forwarded-For") because the data is sent out of band, requests without the proxy header fail, and proxy data cannot be spoofed by the client.