Class: Toot::CallsEventCallback

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
lib/toot/calls_event_callback.rb

Instance Method Summary collapse

Instance Method Details

#perform(callback_url, event_data) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/toot/calls_event_callback.rb', line 7

def perform(callback_url, event_data)
  uri = URI(callback_url)

  response = Toot.config.http_connection.post do |request|
    request.url uri
    request.body = event_data.to_json
    request.headers["Content-Type"] = "application/json"
  end

  if response.success?
    if response.headers["X-Toot-Unsubscribe"]
      Toot.redis do |r|
        r.srem event_data["channel"], callback_url
      end
    end
  else
    raise CallbackFailure, "Response code: #{response.status}"
  end
end