Class: WampClient::Message::Challenge

Inherits:
Base
  • Object
show all
Defined in:
lib/wamp_client/message.rb

Overview

Challenge The “CHALLENGE” message is used with certain Authentication Methods. During authenticated session establishment, a Router sends a challenge message. Formats:

[CHALLENGE, AuthMethod|string, Extra|dict]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Check

included

Constructor Details

#initialize(authmethod, extra) ⇒ Challenge

Returns a new instance of Challenge.



1136
1137
1138
1139
1140
1141
1142
1143
1144
# File 'lib/wamp_client/message.rb', line 1136

def initialize(authmethod, extra)

  self.class.check_string('authmethod', authmethod)
  self.class.check_dict('extra', extra)

  self.authmethod = authmethod
  self.extra = extra

end

Instance Attribute Details

#authmethodObject

Returns the value of attribute authmethod.



1134
1135
1136
# File 'lib/wamp_client/message.rb', line 1134

def authmethod
  @authmethod
end

#extraObject

Returns the value of attribute extra.



1134
1135
1136
# File 'lib/wamp_client/message.rb', line 1134

def extra
  @extra
end

Class Method Details

.parse(params) ⇒ Object



1150
1151
1152
1153
1154
1155
1156
1157
1158
# File 'lib/wamp_client/message.rb', line 1150

def self.parse(params)

  self.check_gte('params list', 3, params.count)
  self.check_equal('message type', self.type, params[0])

  params.shift
  self.new(*params)

end

.typeObject



1146
1147
1148
# File 'lib/wamp_client/message.rb', line 1146

def self.type
  Types::CHALLENGE
end

Instance Method Details

#payloadObject



1160
1161
1162
1163
1164
1165
1166
# File 'lib/wamp_client/message.rb', line 1160

def payload
  payload = [self.class.type]
  payload.push(self.authmethod)
  payload.push(self.extra)

  payload
end

#to_sObject



1168
1169
1170
# File 'lib/wamp_client/message.rb', line 1168

def to_s
  'CHALLENGE > ' + self.payload.to_s
end