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
path: root/lib
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2017-04-03 23:05:15 +0300
committerRobert Speicher <robert@gitlab.com>2017-04-03 23:05:15 +0300
commit103a2a9ab94490722286cd8426668a9ce0749c29 (patch)
tree8bde238459ae46821b7f11b967dc117bea69c11c /lib
parent97c49b8426c62b5b398ed9a2bf863d859a4b7e55 (diff)
parent39753bfb9cdd77ed7fc1458afc202b126ea6984d (diff)
Merge branch 'feature/add-feature-flags-for-upload-receive-pack' into 'master'
Add feature flags for enabling (Upload|Receive)Pack Closes gitaly#168 See merge request !10341
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/workhorse.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/gitlab/workhorse.rb b/lib/gitlab/workhorse.rb
index d1131ad65e0..d0637f8b394 100644
--- a/lib/gitlab/workhorse.rb
+++ b/lib/gitlab/workhorse.rb
@@ -16,7 +16,7 @@ module Gitlab
SECRET_LENGTH = 32
class << self
- def git_http_ok(repository, user)
+ def git_http_ok(repository, user, action)
repo_path = repository.path_to_repo
params = {
GL_ID: Gitlab::GlId.gl_id(user),
@@ -26,13 +26,25 @@ module Gitlab
if Gitlab.config.gitaly.enabled
storage = repository.project.repository_storage
address = Gitlab::GitalyClient.get_address(storage)
- params[:GitalySocketPath] = URI(address).path
# TODO: use GitalyClient code to assemble the Repository message
params[:Repository] = Gitaly::Repository.new(
path: repo_path,
storage_name: storage,
relative_path: Gitlab::RepoPath.strip_storage_path(repo_path),
).to_h
+
+ feature_enabled = case action.to_s
+ when 'git_receive_pack'
+ Gitlab::GitalyClient.feature_enabled?(:post_receive_pack)
+ when 'git_upload_pack'
+ Gitlab::GitalyClient.feature_enabled?(:post_upload_pack)
+ when 'info_refs'
+ true
+ else
+ raise "Unsupported action: #{action}"
+ end
+
+ params[:GitalySocketPath] = URI(address).path if feature_enabled
end
params