com.atlassian.confluence.util.http
Class HttpProxyConfiguration

java.lang.Object
  extended by com.atlassian.confluence.util.http.HttpProxyConfiguration

public class HttpProxyConfiguration
extends Object

Proxy configuration for outbound HTTP connections, determined from a set of standard properties.

This class itself is independent of HttpClient. See HttpClientProxyConfiguration for how to apply this configuration to an HttpClient instance.

See Also:
fromSystemProperties(), fromProperties(Properties)

Nested Class Summary
static class HttpProxyConfiguration.ProxyAuthentication
           
 
Field Summary
static String NON_PROXY_HOSTS_PROPERTY
           
static String NTLM_DOMAIN_PROPERTY
           
static String PROXY_AUTHENTICATION
           
static String PROXY_HOST_PROPERTY
           
static String PROXY_PASSWORD_PROPERTY
           
static String PROXY_PORT_PROPERTY
           
static String PROXY_USERNAME_PROPERTY
           
 
Method Summary
static HttpProxyConfiguration fromProperties(Properties properties)
          Creates a new ProxyConfiguration using the standard properties, using the Properties object provided.
static HttpProxyConfiguration fromSystemProperties()
          Creates a new ProxyConfiguration using the standard properties, reading from System.getProperties().
 List<HttpProxyConfiguration.ProxyAuthentication> getAuthentication()
          Returns the types of authentication to use in preference order.
 String getHost()
          Returns the proxy host name, or null if no proxy is defined.
 String getNtlmDomain()
          Returns the NTLM authentication domain of the proxy server.
 String getPassword()
          Returns the proxy password, or null if the password is not set.
 int getPort()
          Returns the proxy port.
 String getUsername()
          Returns the proxy username, or null if the username is not set.
 boolean hasBasicAuthentication()
          Returns true if the configuration includes basic authentication details, i.e.
 boolean hasDigestAuthentication()
          Returns true if the configuration includes digest authentication details, i.e.
 boolean hasNtlmAuthentication()
          Returns true if the configuration includes NTLM authentication details, i.e.
 boolean isProxyConfigured()
          Returns true if a proxy server is configured (i.e.
 boolean shouldProxy(String destinationHost)
          Returns true if the proxy is configured and the host is not in the list of "non-proxy hosts".
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROXY_HOST_PROPERTY

public static final String PROXY_HOST_PROPERTY
See Also:
Constant Field Values

PROXY_PORT_PROPERTY

public static final String PROXY_PORT_PROPERTY
See Also:
Constant Field Values

PROXY_USERNAME_PROPERTY

public static final String PROXY_USERNAME_PROPERTY
See Also:
Constant Field Values

PROXY_PASSWORD_PROPERTY

public static final String PROXY_PASSWORD_PROPERTY
See Also:
Constant Field Values

NTLM_DOMAIN_PROPERTY

public static final String NTLM_DOMAIN_PROPERTY
See Also:
Constant Field Values

NON_PROXY_HOSTS_PROPERTY

public static final String NON_PROXY_HOSTS_PROPERTY
See Also:
Constant Field Values

PROXY_AUTHENTICATION

public static final String PROXY_AUTHENTICATION
See Also:
Constant Field Values
Method Detail

fromSystemProperties

public static HttpProxyConfiguration fromSystemProperties()
Creates a new ProxyConfiguration using the standard properties, reading from System.getProperties().

The non-proxy hosts property is a pipe-delimited lists of hosts or domains with a wildcard at the start. For example: "server.example.org|*.example.com".

The proxy authentication property defines the preference order of authentication methods. By default, the order is HttpClient's default order: NTLM, Digest, Basic. You may need to change this if your server advertises that it supports NTLM and Basic authentication, but you only have a Basic authentication credentials. The format of this property is a comma-separated list of values from the HttpClient AuthPolicy class. For example: "basic,ntlm" will try Basic authentication then NTLM authentication.

See Also:
PROXY_HOST_PROPERTY, PROXY_PORT_PROPERTY, PROXY_USERNAME_PROPERTY, PROXY_PASSWORD_PROPERTY, NTLM_DOMAIN_PROPERTY, NON_PROXY_HOSTS_PROPERTY, PROXY_AUTHENTICATION

fromProperties

public static HttpProxyConfiguration fromProperties(Properties properties)
Creates a new ProxyConfiguration using the standard properties, using the Properties object provided.

See fromSystemProperties() for a discussion of the properties.

Parameters:
properties - the properties to use for reading the proxy information

isProxyConfigured

public boolean isProxyConfigured()
Returns true if a proxy server is configured (i.e. the host is set), otherwise false.


shouldProxy

public boolean shouldProxy(String destinationHost)
Returns true if the proxy is configured and the host is not in the list of "non-proxy hosts".

See Also:
isProxyConfigured()

hasBasicAuthentication

public boolean hasBasicAuthentication()
Returns true if the configuration includes basic authentication details, i.e. a username.


hasDigestAuthentication

public boolean hasDigestAuthentication()
Returns true if the configuration includes digest authentication details, i.e. a username.


hasNtlmAuthentication

public boolean hasNtlmAuthentication()
Returns true if the configuration includes NTLM authentication details, i.e. a domain.


getAuthentication

public List<HttpProxyConfiguration.ProxyAuthentication> getAuthentication()
Returns the types of authentication to use in preference order. The default value is NTLM, Digest, then Basic, as long as credentials are available for the appropriate type.

See Also:
HttpProxyConfiguration.ProxyAuthentication

getHost

public String getHost()
Returns the proxy host name, or null if no proxy is defined.


getPort

public int getPort()
Returns the proxy port.


getUsername

public String getUsername()
Returns the proxy username, or null if the username is not set.


getPassword

public String getPassword()
Returns the proxy password, or null if the password is not set.


getNtlmDomain

public String getNtlmDomain()
Returns the NTLM authentication domain of the proxy server.



Copyright © 2003-2011 Atlassian. All Rights Reserved.