summaryrefslogtreecommitdiff
path: root/app/models/web_hook.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-15 11:31:30 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-09-15 11:31:30 +0300
commit38ed0deaac78f74cf983caf2f607956c1b2dcf83 (patch)
tree7847eaafc5e6b96d1ada35dd89b43699c2eba5fa /app/models/web_hook.rb
parent39ab7527d41c2351b82398947307f3d668f06944 (diff)
downloadgitlab-ce-38ed0deaac78f74cf983caf2f607956c1b2dcf83.tar.gz
Move hook models in separate dir
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models/web_hook.rb')
-rw-r--r--app/models/web_hook.rb52
1 files changed, 0 insertions, 52 deletions
diff --git a/app/models/web_hook.rb b/app/models/web_hook.rb
deleted file mode 100644
index 752eb8074ac..00000000000
--- a/app/models/web_hook.rb
+++ /dev/null
@@ -1,52 +0,0 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-# id :integer not null, primary key
-# url :string(255)
-# project_id :integer
-# created_at :datetime
-# updated_at :datetime
-# type :string(255) default("ProjectHook")
-# service_id :integer
-# push_events :boolean default(TRUE), not null
-# issues_events :boolean default(FALSE), not null
-# merge_requests_events :boolean default(FALSE), not null
-# tag_push_events :boolean default(FALSE)
-#
-
-class WebHook < ActiveRecord::Base
- include HTTParty
-
- default_value_for :push_events, true
- default_value_for :issues_events, false
- default_value_for :merge_requests_events, false
-
- # HTTParty timeout
- default_timeout Gitlab.config.gitlab.webhook_timeout
-
- validates :url, presence: true,
- format: { with: URI::regexp(%w(http https)), message: "should be a valid url" }
-
- def execute(data)
- parsed_url = URI.parse(url)
- if parsed_url.userinfo.blank?
- WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" }, verify: false)
- else
- post_url = url.gsub("#{parsed_url.userinfo}@", "")
- auth = {
- username: URI.decode(parsed_url.user),
- password: URI.decode(parsed_url.password),
- }
- WebHook.post(post_url,
- body: data.to_json,
- headers: {"Content-Type" => "application/json"},
- verify: false,
- basic_auth: auth)
- end
- end
-
- def async_execute(data)
- Sidekiq::Client.enqueue(ProjectWebHookWorker, id, data)
- end
-end