Sha256: 8894da23d4aa4758f82d0249417296305c941c276030c5bf8630fea0b7eb7906

Contents?: true

Size: 1.19 KB

Versions: 161

Compression:

Stored size: 1.19 KB

Contents

require 'openssl'

require_relative '../helper'

module FastlaneCore
  class AnalyticsIngesterClient
    def post_events(events)
      unless Helper.test?
        Thread.new do
          send_request(json: { analytics: events }.to_json)
        end
      end
      return true
    end

    def send_request(json: nil, retries: 2)
      post_request(body: json)
    rescue
      retries -= 1
      retry if retries >= 0
    end

    def post_request(body: nil)
      if ENV['METRICS_DEBUG']
        write_json(body)
      end
      url = ENV["FASTLANE_METRICS_URL"] || "https://fastlane-metrics.fabric.io"

      require 'faraday'
      connection = Faraday.new(url) do |conn|
        conn.adapter(Faraday.default_adapter)
        if ENV['METRICS_DEBUG']
          conn.proxy = "https://127.0.0.1:8888"
          conn.ssl[:verify_mode] = OpenSSL::SSL::VERIFY_NONE
        end
      end
      connection.post do |req|
        req.url('/public')
        req.headers['Content-Type'] = 'application/json'
        req.body = body
      end
    end

    # This method is only for debugging purposes
    def write_json(body)
      File.write("#{ENV['HOME']}/Desktop/mock_analytics-#{Time.now.to_i}.json", body)
    end
  end
end

Version data entries

161 entries across 161 versions & 1 rubygems

Version Path
fastlane-2.95.0.beta.20180506050030 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.95.0.beta.20180505050019 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.95.0.beta.20180504050050 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.95.0.beta.20180503050136 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.95.0.beta.20180502050125 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180501050030 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180430050033 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180429050039 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180428050023 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180427050031 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180426050049 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180425050017 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.1 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.94.0.beta.20180424050050 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.0 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.0.beta.20180423050019 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.0.beta.20180422050034 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.0.beta.20180421050012 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb
fastlane-2.93.0.beta.20180420050021 fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb