class GDS::Metrics::Gzip

Attributes

app[RW]

Public Class Methods

new(app) click to toggle source
# File lib/gds_metrics/gzip.rb, line 6
def initialize(app)
  self.app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/gds_metrics/gzip.rb, line 10
def call(env)
  if metrics_path?(env)
    compress(env)
  else
    app.call(env)
  end
end

Private Instance Methods

compress(env) click to toggle source
# File lib/gds_metrics/gzip.rb, line 20
def compress(env)
  Rack::Deflater.new(app).call(env)
end
config() click to toggle source
# File lib/gds_metrics/gzip.rb, line 29
def config
  Config.instance
end
metrics_path?(env) click to toggle source
# File lib/gds_metrics/gzip.rb, line 24
def metrics_path?(env)
  path = env.fetch("PATH_INFO")
  path == config.prometheus_metrics_path
end