def store(data)
      request_data = {:value => data}
      request_data[:expire] = @expire if @expire
      request = prepare_request :POST, request_data.to_json
      Response.new(execute_request(request))
    end
def store(data)
      request_data = {:value => data}
      request_data[:expire] = @expire if @expire
      request = prepare_request :POST, request_data.to_json
      Response.new(execute_request(request))
    end
Initialize a client to a SAM node hosted at a specific url

 @param [Hash] optional hash with user, password, host and port of the SAM node
 @return [Client] the object itself
 @example
   nsisam = NSISam::Client.new user: 'username' password: 'pass',
                               host: 'localhost', port: '8888'
 Store a given data in SAM

 @param [String] data the desired data to store
 @return [Hash] response with the data key and checksum
   * "key" [String] the key to access the stored data
   * "checksum" [String] the sha512 checksum of the stored data

 @raise [NSISam::Errors::Client::AuthenticationError] when user and password doesn't match

 @example
   nsisam.store("something")