Files
gitlab-foss/lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb
2024-05-07 00:18:19 +00:00

30 lines
682 B
Ruby

# frozen_string_literal: true
module Gitlab
module Middleware
class SidekiqShardAwarenessValidation
include Gitlab::Utils::StrongMemoize
SIDEKIQ_WEB_UI_PATH = %r{^/admin/sidekiq}
def initialize(app)
@app = app
end
def call(env)
path = env['PATH_INFO'].delete_prefix(relative_url)
match_data = path.match(SIDEKIQ_WEB_UI_PATH)
return @app.call(env) if match_data
::Gitlab::SidekiqSharding::Validator.enabled { @app.call(env) }
end
def relative_url
File.join('', Gitlab.config.gitlab.relative_url_root).chomp('/')
end
strong_memoize_attr :relative_url
end
end
end