diff options
Diffstat (limited to 'lib/gitlab/jira/middleware.rb')
-rw-r--r-- | lib/gitlab/jira/middleware.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/gitlab/jira/middleware.rb b/lib/gitlab/jira/middleware.rb new file mode 100644 index 00000000000..8a74729da49 --- /dev/null +++ b/lib/gitlab/jira/middleware.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Gitlab + module Jira + class Middleware + def self.jira_dvcs_connector?(env) + env['HTTP_USER_AGENT']&.downcase&.start_with?('jira dvcs connector') + end + + def initialize(app) + @app = app + end + + def call(env) + if self.class.jira_dvcs_connector?(env) + env['HTTP_AUTHORIZATION'] = env['HTTP_AUTHORIZATION']&.sub('token', 'Bearer') + end + + @app.call(env) + end + end + end +end |