lib/mixpanel/middleware.rb in mixpanel-3.5.1 vs lib/mixpanel/middleware.rb in mixpanel-3.5.2

- old
+ new

@@ -1,10 +1,19 @@ require 'rack' require 'json' module Mixpanel class Middleware + class << self + attr_accessor :skip_request + def skip_this_request + @skip_request = true + end + end + + @skip_request = false + def initialize(app, mixpanel_token, options={}) @app = app @token = mixpanel_token @options = { :insert_mixpanel_scripts=> true, @@ -16,16 +25,18 @@ def call(env) @env = env @status, @headers, @response = @app.call(env) - - if is_trackable_response? + + if is_trackable_response? && !Mixpanel::Middleware.skip_request merge_queue! if @options[:persist] update_response! update_content_length! delete_event_queue! end + + Mixpanel::Middleware.skip_request = false [@status, @headers, @response] end private