Class RACKSPACE_PING.RackspaceClient

java.lang.Object
org.jgroups.protocols.RACKSPACE_PING.RackspaceClient
Enclosing class:
RACKSPACE_PING

protected static class RACKSPACE_PING.RackspaceClient extends Object
A thread safe Rackspace ReST client
  • Field Details

  • Constructor Details

    • RackspaceClient

      public RackspaceClient(URL apiEndpoint, String username, String apiKey)
      Constructor
      Parameters:
      apiEndpoint - UK or US authentication endpoint
      username - Rackspace username
      apiKey - Rackspace apiKey
  • Method Details

    • log

    • authenticate

      public void authenticate()
      Authenticate
    • deleteObject

      public void deleteObject(String containerName, String objectName)
      Delete a object (=file) from the storage
      Parameters:
      containerName - Folder name
      objectName - File name
    • createContainer

      public void createContainer(String containerName)
      Create a container, which is equivalent to a bucket
      Parameters:
      containerName - Name of the container
    • createObject

      public void createObject(String containerName, String objectName, byte[] contents)
      Create an object (=file)
      Parameters:
      containerName - Name of the container
      objectName - Name of the file
      contents - Binary content of the file
    • readObject

      public byte[] readObject(String containerName, String objectName)
      Read the content of a file
      Parameters:
      containerName - Name of the folder
      objectName - name of the file
      Returns:
      Content of the files
    • listObjects

      public List<String> listObjects(String containerName)
      List files in a folder
      Parameters:
      containerName - Folder name
      Returns:
      List of file names
    • doOperation

      private RACKSPACE_PING.RackspaceClient.Response doOperation(HttpURLConnection urlConnection, byte[] inputData, boolean hasOutput)
      Do a http operation
      Parameters:
      urlConnection - the HttpURLConnection to be used
      inputData - if not null,will be written to the urlconnection.
      hasOutput - if true, read content back from the urlconnection
      Returns:
      Response
    • doAuthOperation

      private RACKSPACE_PING.RackspaceClient.Response doAuthOperation(HttpURLConnection urlConnection)
      Do a http auth operation, will not handle 401 permission denied errors
      Parameters:
      urlConnection - the HttpURLConnection to be used
      Returns:
      Response Response
    • doVoidOperation

      private RACKSPACE_PING.RackspaceClient.Response doVoidOperation(HttpURLConnection urlConnection)
      Do a operation that does not write or read from HttpURLConnection, except for the headers
      Parameters:
      urlConnection - the connection
      Returns:
      Response
    • doSendOperation

      private RACKSPACE_PING.RackspaceClient.Response doSendOperation(HttpURLConnection urlConnection, byte[] content)
      Do a operation that writes content to the HttpURLConnection
      Parameters:
      urlConnection - the connection
      content - The content to send
      Returns:
      Response
    • doReadOperation

      private RACKSPACE_PING.RackspaceClient.Response doReadOperation(HttpURLConnection urlConnection)
      Do a operation that reads from the httpconnection
      Parameters:
      urlConnection - The connections
      Returns:
      Response