Class: Faye::Authentication::HTTPClient

Inherits:
Object
  • Object
show all
Defined in:
lib/faye/authentication/http_client.rb

Class Method Summary collapse

Class Method Details

.prepare_request(uri, channel, data, key, options = {}) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/faye/authentication/http_client.rb', line 13

def self.prepare_request(uri, channel, data, key, options = {})
  req = Net::HTTP::Post.new(uri)
  message = {'channel' => channel, 'clientId' => 'http'}
  message['signature'] = Faye::Authentication.sign(message, key) if Faye::Authentication.authentication_required?(message, options)
  message['data'] = data
  req.set_form_data(message: JSON.dump(message))
  req
end

.publish(url, channel, data, key, options = {}) ⇒ Object



7
8
9
10
11
# File 'lib/faye/authentication/http_client.rb', line 7

def self.publish(url, channel, data, key, options = {})
  uri = URI(url)
  req = prepare_request(uri.request_uri, channel, data, key, options)
  Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') { |http| http.request(req) }
end