class AdvisorsCommandClient::Connection::WsseAuth

Public Class Methods

new(app, username, api_key) click to toggle source
Calls superclass method
# File lib/advisors_command_client/connection.rb, line 27
def initialize(app, username, api_key)
  super(app)
  @username = username
  @api_key = api_key
end

Public Instance Methods

call(request_env) click to toggle source
# File lib/advisors_command_client/connection.rb, line 33
def call(request_env)
  request_env[:request_headers].merge!({"X-WSSE" => wsse_auth_string})
  @app.call(request_env)
end

Private Instance Methods

wsse_auth_string() click to toggle source
# File lib/advisors_command_client/connection.rb, line 39
def wsse_auth_string
  wsse = Akami.wsse
  wsse.credentials @username, @api_key, :digest
  wsse.timestamp = true

  %{UsernameToken Username="#{wsse.username}", PasswordDigest="#{wsse.send(:digest_password)}", Nonce="#{Base64.encode64(wsse.send(:nonce)).chomp}", Created="#{wsse.send(:timestamp)}"}
end