diff options
Diffstat (limited to 'lib/gitlab/middleware/sidekiq_web_static.rb')
-rw-r--r-- | lib/gitlab/middleware/sidekiq_web_static.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/gitlab/middleware/sidekiq_web_static.rb b/lib/gitlab/middleware/sidekiq_web_static.rb new file mode 100644 index 00000000000..61b5fb9e0c6 --- /dev/null +++ b/lib/gitlab/middleware/sidekiq_web_static.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +# This module removes the X-Sendfile-Type header for /admin/sidekiq +# assets since Workhorse isn't always guaranteed to have the assets +# present on disk, such as when using Cloud Native GitLab +# containers. These assets are also small and served infrequently so it +# should be fine to do this. +module Gitlab + module Middleware + class SidekiqWebStatic + SIDEKIQ_REGEX = %r{\A/admin/sidekiq/}.freeze + + def initialize(app) + @app = app + end + + def call(env) + env.delete('HTTP_X_SENDFILE_TYPE') if env['PATH_INFO'] =~ SIDEKIQ_REGEX + + @app.call(env) + end + end + end +end |