Class WebdavSession

java.lang.Object
org.apache.webdav.lib.WebdavSession
Direct Known Subclasses:
WebdavResource

public abstract class WebdavSession extends Object
This WebdavSession class is for the session management of WebDAV clients. This class saves and restores the requested client. Although this class is thread safe, it should only be accessed by one concurrent thread, since the underlying protocol, HTTP, is not multiplexed. If simultaneous operations are needed, it is recommended to create additional threads, each having its own associated WebDAV client. Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.commons.httpclient.HttpClient
    The Http client instance.
    protected int
    Debug level.
    protected org.apache.commons.httpclient.Credentials
    Credentials to use for authentication
    protected org.apache.commons.httpclient.Credentials
    Credentials to use for an authenticating proxy
    protected String
    The hostname to use for the proxy, if any
    protected int
    Port number to use for proxy, if any
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close an session and delete the connection information.
    void
    closeSession(org.apache.commons.httpclient.HttpClient client)
    Deprecated.
    Replaced by closeSession()
    org.apache.commons.httpclient.HttpClient
    getSessionInstance(org.apache.commons.httpclient.HttpURL httpURL)
    Get a HttpClient instance.
    org.apache.commons.httpclient.HttpClient
    getSessionInstance(org.apache.commons.httpclient.HttpURL httpURL, boolean reset)
    Get a HttpClient instance.
    void
    setCredentials(org.apache.commons.httpclient.Credentials credentials)
    Set credentials for authentication.
    void
    setDebug(int debug)
    Set debug level.
    void
    setProxy(String host, int port)
    Set proxy info, to use proxying.
    void
    setProxyCredentials(org.apache.commons.httpclient.Credentials credentials)
    Set credentials for authenticating against a proxy.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • client

      protected org.apache.commons.httpclient.HttpClient client
      The Http client instance.
    • hostCredentials

      protected org.apache.commons.httpclient.Credentials hostCredentials
      Credentials to use for authentication
    • proxyHost

      protected String proxyHost
      The hostname to use for the proxy, if any
    • proxyPort

      protected int proxyPort
      Port number to use for proxy, if any
    • proxyCredentials

      protected org.apache.commons.httpclient.Credentials proxyCredentials
      Credentials to use for an authenticating proxy
    • debug

      protected int debug
      Debug level.
  • Constructor Details

    • WebdavSession

      public WebdavSession()
      Default constructor.
  • Method Details

    • setDebug

      public void setDebug(int debug)
      Set debug level.
    • getSessionInstance

      public org.apache.commons.httpclient.HttpClient getSessionInstance(org.apache.commons.httpclient.HttpURL httpURL) throws IOException
      Get a HttpClient instance. This method returns a new client instance for the first time. And it is saved util it's closed or reset.
      Parameters:
      httpURL - The http URL to connect. only used the authority part.
      Returns:
      An instance of HttpClient.
      Throws:
      IOException
    • getSessionInstance

      public org.apache.commons.httpclient.HttpClient getSessionInstance(org.apache.commons.httpclient.HttpURL httpURL, boolean reset) throws IOException
      Get a HttpClient instance. This method returns a new client instance, when reset is true.
      Parameters:
      httpURL - The http URL to connect. only used the authority part.
      reset - The reset flag to represent whether the saved information is used or not.
      Returns:
      An instance of HttpClient.
      Throws:
      IOException
    • setCredentials

      public void setCredentials(org.apache.commons.httpclient.Credentials credentials)
      Set credentials for authentication.
      Parameters:
      credentials - The credentials to use for authentication.
    • setProxy

      public void setProxy(String host, int port)
      Set proxy info, to use proxying.
    • setProxyCredentials

      public void setProxyCredentials(org.apache.commons.httpclient.Credentials credentials)
      Set credentials for authenticating against a proxy.
      Parameters:
      credentials - The credentials to use for authentication.
    • closeSession

      public void closeSession() throws IOException
      Close an session and delete the connection information.
      Throws:
      IOException - Error in closing socket.
    • closeSession

      public void closeSession(org.apache.commons.httpclient.HttpClient client) throws IOException
      Deprecated.
      Replaced by closeSession()
      Close an session and delete the connection information.
      Parameters:
      client - The HttpClient instance.
      Throws:
      IOException - Error in closing socket.