summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-03-12 17:42:51 +0000
committerDouwe Maan <douwe@gitlab.com>2016-03-12 17:42:51 +0000
commit5a586f364c5d2b866d6a074eff7996f05585b7d5 (patch)
tree6f27747ad662ae16f588e9706ac5e3668bc515e6 /lib
parent826bc72c12cde117c52bfc4b2acb59254a24eff9 (diff)
downloadgitlab-ce-5a586f364c5d2b866d6a074eff7996f05585b7d5.tar.gz
Revert "Merge branch 'support-go-subpackages' into 'master' "
This reverts merge request !3191
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/middleware/go.rb50
1 files changed, 0 insertions, 50 deletions
diff --git a/lib/gitlab/middleware/go.rb b/lib/gitlab/middleware/go.rb
deleted file mode 100644
index 50b0dd32380..00000000000
--- a/lib/gitlab/middleware/go.rb
+++ /dev/null
@@ -1,50 +0,0 @@
-# A dumb middleware that returns a Go HTML document if the go-get=1 query string
-# is used irrespective if the namespace/project exists
-module Gitlab
- module Middleware
- class Go
- def initialize(app)
- @app = app
- end
-
- def call(env)
- request = Rack::Request.new(env)
-
- if go_request?(request)
- render_go_doc(request)
- else
- @app.call(env)
- end
- end
-
- private
-
- def render_go_doc(request)
- body = go_body(request)
- response = Rack::Response.new(body, 200, { 'Content-Type' => 'text/html' })
- response.finish
- end
-
- def go_request?(request)
- request["go-get"].to_i == 1 && request.env["PATH_INFO"].present?
- end
-
- def go_body(request)
- base_url = Gitlab.config.gitlab.url
- # Go subpackages may be in the form of namespace/project/path1/path2/../pathN
- # We can just ignore the paths and leave the namespace/project
- path_info = request.env["PATH_INFO"]
- path_info.sub!(/^\//, '')
- project_path = path_info.split('/').first(2).join('/')
- request_url = URI.join(base_url, project_path)
- domain_path = strip_url(request_url.to_s)
-
- "<!DOCTYPE html><html><head><meta content='#{domain_path} git #{request_url}.git' name='go-import'></head></html>\n";
- end
-
- def strip_url(url)
- url.gsub(/\Ahttps?:\/\//, '')
- end
- end
- end
-end