This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
2022-04-28 08:47:34 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Mastodon::RackMiddleware
|
|
|
|
def initialize(app)
|
|
|
|
@app = app
|
|
|
|
end
|
|
|
|
|
|
|
|
def call(env)
|
|
|
|
@app.call(env)
|
|
|
|
ensure
|
|
|
|
clean_up_sockets!
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def clean_up_sockets!
|
|
|
|
clean_up_redis_socket!
|
|
|
|
clean_up_statsd_socket!
|
|
|
|
end
|
|
|
|
|
|
|
|
def clean_up_redis_socket!
|
2022-04-29 13:43:07 -07:00
|
|
|
RedisConfiguration.pool.checkin if Thread.current[:redis]
|
2022-04-28 08:47:34 -07:00
|
|
|
Thread.current[:redis] = nil
|
|
|
|
end
|
|
|
|
|
|
|
|
def clean_up_statsd_socket!
|
|
|
|
Thread.current[:statsd_socket]&.close
|
|
|
|
Thread.current[:statsd_socket] = nil
|
|
|
|
end
|
|
|
|
end
|