Welcome to mirror list, hosted at ThFree Co, Russian Federation.

release_env.rb « middleware « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0719fb2e8c69acc31fcde3f6da171af388023171 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# frozen_string_literal: true

module Gitlab
  module Middleware
    # Some of middleware would hold env for no good reason even after the
    # request had already been processed, and we could not garbage collect
    # them due to this. Put this middleware as the first middleware so that
    # it would clear the env after the request is done, allowing GC gets a
    # chance to release memory for the last request.
    ReleaseEnv = Struct.new(:app) do
      def call(env)
        app.call(env).tap { env.clear }
      end
    end
  end
end