Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/product_analytics/collector_app.rb')
-rw-r--r--lib/product_analytics/collector_app.rb40
1 files changed, 0 insertions, 40 deletions
diff --git a/lib/product_analytics/collector_app.rb b/lib/product_analytics/collector_app.rb
deleted file mode 100644
index 1008d2f264c..00000000000
--- a/lib/product_analytics/collector_app.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-# frozen_string_literal: true
-
-module ProductAnalytics
- class CollectorApp
- def call(env)
- request = Rack::Request.new(env)
- params = request.params
-
- return not_found unless EventParams.has_required_params?(params)
-
- # Product analytics feature is behind a flag and is disabled by default.
- # We expect limited amount of projects with this feature enabled in first release.
- # Since collector has no authentication we temporary prevent recording of events
- # for project without the feature enabled. During increase of feature adoption, this
- # check will be removed for better performance.
- project = Project.find(params['aid'].to_i)
- return not_found unless Feature.enabled?(:product_analytics, project)
-
- # Snowplow tracker has own format of events.
- # We need to convert them to match the schema of our database.
- event_params = EventParams.parse_event_params(params)
-
- if ProductAnalyticsEvent.create(event_params)
- ok
- else
- not_found
- end
- rescue ActiveRecord::InvalidForeignKey, ActiveRecord::RecordNotFound
- not_found
- end
-
- def ok
- [200, {}, []]
- end
-
- def not_found
- [404, {}, []]
- end
- end
-end