module DDcloud::Connection

Public Instance Methods

append_query(uri, query) click to toggle source
# File lib/ddcloud/connection.rb, line 27
def append_query(uri, query)
  if uri.include?('?')
    uri << '&'
  else
    uri << '?'
  end
  uri << query
end
build_request(type, endpoint, query = nil, body = nil, xml=true) click to toggle source
# File lib/ddcloud/connection.rb, line 3
def build_request(type, endpoint, query = nil, body = nil, xml=true)
  # url = "https://cloudapi.nttamerica.com/oec/0.9" + "/server"
  uri = api_base + endpoint
  append_query(uri, query) if query

  if xml
    request = Typhoeus::Request.new(
      uri,
      method: type,
      body: body,
      userpwd: "#{@username}:#{@password}",
        headers: { 'Content-Type' =>'text/xml', 'User-Agent' => 'ACP Ruby SDK' }
    )
  else
    request = Typhoeus::Request.new(
      uri,
      method: type,
      body: body,
      userpwd: "#{@username}:#{@password}",
        headers: {  'User-Agent' => 'ACP Ruby SDK' }
    )
  end
end
log_response(request, response) click to toggle source
# File lib/ddcloud/connection.rb, line 42
def log_response(request, response)
  if response.success?
    log "...........success!", :yellow
  elsif response.timed_out?
    log_error "ERROR\n-----", :red
    log_error "got a time out"
  elsif response.code == 0
    # Could not get an http response, something's wrong.
    log_error "ERROR\n-----", :red
    log_error response.return_message
  else
    # Received a non-successful http response.
    log_error "ERROR\n-----", :red
    log_error "HTTP request failed: " + response.code.to_s, :red
    log_error response.body, :yellow
  end
end
perform_request(request) click to toggle source
# File lib/ddcloud/connection.rb, line 37
def perform_request(request)
  log "\nrequesting #{request.url}...", :yellow
  request.run
end