com.noelios.restlet.ext.net
Class HttpClientHelper

java.lang.Object
  extended by org.restlet.util.Helper<T>
      extended by com.noelios.restlet.ConnectorHelper<Client>
          extended by com.noelios.restlet.ClientHelper
              extended by com.noelios.restlet.http.HttpClientHelper
                  extended by com.noelios.restlet.ext.net.HttpClientHelper

public class HttpClientHelper
extends HttpClientHelper

HTTP client connector using the HttpUrlConnectionCall. Here is the list of parameters that are supported:

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.
connectTimeout int 0 Sets a specified timeout value, in milliseconds, to be used when opening a communications link to the resource referenced. 0 means infinite timeout. This parameter is deprecated and should be replaced by the connectTimeout attribute defined by the client.
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.
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
 HttpClientCall 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.
 int getConnectTimeout()
          Returns the timeout value, in milliseconds, to be used when opening a communications link to the resource referenced.
 javax.net.ssl.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 com.noelios.restlet.http.HttpClientHelper
getConverter, handle, setConverter
 
Methods inherited from class com.noelios.restlet.ConnectorHelper
getProtocols, update
 
Methods inherited from class org.restlet.util.Helper
getAttributes, getContext, getHelped, getHelpedParameters, getLogger, 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 HttpClientCall 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.

getConnectTimeout

public int getConnectTimeout()
Returns the timeout value, in milliseconds, to be used when opening a communications link to the resource referenced. 0 means infinite timeout.

Overrides:
getConnectTimeout in class ClientHelper
Returns:
The connection timeout value.

getHostnameVerifier

public javax.net.ssl.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 java.lang.Exception
Overrides:
start in class ConnectorHelper<Client>
Throws:
java.lang.Exception

stop

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


Copyright © 2005-2008 Noelios Technologies.