Class: Stream::Signer

Inherits:
Object
  • Object
show all
Defined in:
lib/stream/signer.rb

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ Signer

Returns a new instance of Signer.



8
9
10
11
# File 'lib/stream/signer.rb', line 8

def initialize(key)
    @key = key.to_s
    @sha1 = OpenSSL::Digest::Digest.new('sha1')
end

Instance Method Details

#signature(message) ⇒ Object



17
18
19
20
21
# File 'lib/stream/signer.rb', line 17

def signature(message)
    key = Digest::SHA1.digest @key.to_s
    signature = Base64.strict_encode64(OpenSSL::HMAC.digest(@sha1, key, message.to_s))
    self.urlSafeB64encode(signature)
end

#urlSafeB64encode(value) ⇒ Object



13
14
15
# File 'lib/stream/signer.rb', line 13

def urlSafeB64encode(value)
    value.gsub('+', '-').gsub('/', '_').gsub(/^=+/, '').gsub(/=+$/, '')
end