org.restlet.ext.net
Class HttpClientHelper

java.lang.Object
  extended by org.restlet.engine.Helper
      extended by org.restlet.engine.RestletHelper<T>
          extended by org.restlet.engine.ConnectorHelper<Client>
              extended by org.restlet.engine.ClientHelper
                  extended by org.restlet.engine.adapter.HttpClientHelper
                      extended by org.restlet.ext.net.HttpClientHelper

public class HttpClientHelper
extends HttpClientHelper

HTTP client connector using the HttpUrlConnectionCall. Here is the list of parameters that are supported. They should be set in the Client's context before it is started:

Parameter name Value type Default value Description
allowUserInteraction boolean false If true, this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog.
chunkLength int 0 (uses HttpURLConnection's default) The chunk-length when using chunked encoding streaming mode for response entities. A value of -1 means chunked encoding is disabled for response entities.
followRedirects boolean false If true, the protocol will automatically follow redirects. If false, the protocol will not automatically follow redirects.
readTimeout int 0 Sets the read timeout to a specified timeout, in milliseconds. A timeout of zero is interpreted as an infinite timeout.
useCaches boolean false If true, the protocol is allowed to use caching whenever it can.
sslContextFactory String org.restlet.ext.ssl.DefaultSslContextFactory Let you specify a SslContextFactory qualified class name as a parameter, or an instance as an attribute for a more complete and flexible SSL context setting.
For the default SSL parameters see the Javadocs of the DefaultSslContextFactory class.

It is also possible to specify a hostname verifier for HTTPS connections. See the getHostnameVerifier() method for details.

Note that by default, the HttpURLConnection class as implemented by Sun will retry a request if an IO exception is caught, for example due to a connection reset by the server. This can be annoying, especially because the HTTP semantics of non idempotent methods like POST can be broken, but also because the new request won't include an entity. There is one way to disable this behavior for POST requests only by setting the system property "sun.net.http.retryPost" to "false".

Author:
Jerome Louvel
See Also:
Client.getConnectTimeout(), Networking Features

Constructor Summary
HttpClientHelper(Client client)
          Constructor.
 
Method Summary
 ClientCall create(Request request)
          Creates a low-level HTTP client call from a high-level uniform call.
 int getChunkLength()
          Returns the chunk-length when using chunked encoding streaming mode for response entities.
 HostnameVerifier getHostnameVerifier()
          Returns the hostname verifier by looking up the "hostnameVerifier" attribute of the client's context.
 int getReadTimeout()
          Returns the read timeout value.
 boolean isAllowUserInteraction()
          Indicates if this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog.
 boolean isFollowRedirects()
          Indicates if the protocol will automatically follow redirects.
 boolean isUseCaches()
          Indicates if the protocol is allowed to use caching whenever it can.
 void start()
           
 void stop()
           
 
Methods inherited from class org.restlet.engine.adapter.HttpClientHelper
getAdapter, handle, setAdapter
 
Methods inherited from class org.restlet.engine.ClientHelper
getSocketConnectTimeoutMs
 
Methods inherited from class org.restlet.engine.ConnectorHelper
getConnectorService, getContext, getProtocols, update
 
Methods inherited from class org.restlet.engine.RestletHelper
getAttributes, getHelped, getHelpedParameters, getLogger, getMetadataService, setHelped
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpClientHelper

public HttpClientHelper(Client client)
Constructor.

Parameters:
client - The client to help.
Method Detail

create

public ClientCall create(Request request)
Creates a low-level HTTP client call from a high-level uniform call.

Specified by:
create in class HttpClientHelper
Parameters:
request - The high-level request.
Returns:
A low-level HTTP client call.

getChunkLength

public int getChunkLength()
Returns the chunk-length when using chunked encoding streaming mode for response entities. A value of -1 means chunked encoding is disabled for response entities.

Returns:
The chunk-length when using chunked encoding streaming mode for response entities.

getHostnameVerifier

public HostnameVerifier getHostnameVerifier()
Returns the hostname verifier by looking up the "hostnameVerifier" attribute of the client's context.

Returns:
The hostname verifier or null.

getReadTimeout

public int getReadTimeout()
Returns the read timeout value. A timeout of zero is interpreted as an infinite timeout.

Returns:
The read timeout value.

isAllowUserInteraction

public boolean isAllowUserInteraction()
Indicates if this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog.

Returns:
True if it makes sense to allow user interactions.

isFollowRedirects

public boolean isFollowRedirects()
Indicates if the protocol will automatically follow redirects.

Returns:
True if the protocol will automatically follow redirects.

isUseCaches

public boolean isUseCaches()
Indicates if the protocol is allowed to use caching whenever it can.

Returns:
True if the protocol is allowed to use caching whenever it can.

start

public void start()
           throws Exception
Overrides:
start in class ConnectorHelper<Client>
Throws:
Exception

stop

public void stop()
          throws Exception
Overrides:
stop in class ConnectorHelper<Client>
Throws:
Exception


Copyright © 2005-2013 Restlet.