Class: SensorsAnalytics::SensorsAnalyticsConsumer
- Inherits:
-
Object
- Object
- SensorsAnalytics::SensorsAnalyticsConsumer
- Defined in:
- lib/sensors_analytics/consumers.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(server_url) ⇒ SensorsAnalyticsConsumer
constructor
A new instance of SensorsAnalyticsConsumer.
- #request!(event_list, headers = {}) ⇒ Object
Constructor Details
#initialize(server_url) ⇒ SensorsAnalyticsConsumer
Returns a new instance of SensorsAnalyticsConsumer.
7 8 9 |
# File 'lib/sensors_analytics/consumers.rb', line 7 def initialize(server_url) @http_client = Http.new(server_url, keep_alive: true) end |
Instance Method Details
#request!(event_list, headers = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/sensors_analytics/consumers.rb', line 11 def request!(event_list, headers = {}) unless event_list.is_a?(Array) && headers.is_a?(Hash) raise IllegalDataError.new("The argument of 'request!' should be a Array.") end # GZip && Base64 encode wio = StringIO.new("w") gzip_io = Zlib::GzipWriter.new(wio) gzip_io.write(event_list.to_json) gzip_io.close data = Base64.encode64(wio.string).gsub("\n", '') form_data = {"data_list" => data, "gzip" => 1} @http_client.request(form_data, headers) end |