Sha256: 3882d5f19ea667d30abc3c07a721ec7c2bd1f501a4cf2b3e82e0e4ae4effcb10

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

class SmartsApi::DisconnectMessage < SmartsApi::Message


  def send(session)
    body = make_form(request_params(session))
    log "Disconnecting"
    response = Typhoeus::Request.post(uri,
                                      :method  => method,
                                      :headers => {:Accept => "text/json"},
                                      :body    => body
    )
    raise SmartsApi::Error, "Service connection failed.  Recieved empty reply" if response.nil? || response.body.blank?
    reply = JSON.parse(response.body)

    raise SmartsApi::Error, "Connection failed.  Received malformed response." unless reply["Header"] && reply["Header"]["SessionId"]

    session = reply["Header"]["SessionId"]
    raise SmartsApi::Error, "Connection failed.  Did not receive session ID" if session == "00000000-0000-0000-0000-000000000000"
    return session
  end

  def request_params(session)
    params = {
        :appId => SmartsApi::Configuration.app_id,
        :reqTime => timestamp,
        :session => session
    }
    signature = {
        :sign => sign_request(params)
    }
    return params.merge(signature)
  end

  def uri
    "#{super}disconnect"
  end


end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
smarts_api-0.0.4 lib/smarts_api/message/disconnect_message.rb
smarts_api-0.0.3 lib/smarts_api/message/disconnect_message.rb
smarts_api-0.0.2 lib/smarts_api/message/disconnect_message.rb