Sha256: 5dc12be98f99f57ee1b9fcd4be5b8452b9ef757b9b92761b34669f7f6ceaa53f

Contents?: true

Size: 832 Bytes

Versions: 9

Compression:

Stored size: 832 Bytes

Contents

class QuietCommonLogger < Rack::CommonLogger
  include Rack

  @@ignore_extensions = %w(png jpg jpeg ico gif woff tff svg eot css js)

  def call(env)
    path = env['REQUEST_PATH']
    began_at = Time.now
    status, header, body = @app.call(env)
    header = Utils::HeaderHash.new(header)
    base = ::File.basename(path)
    if base.index('.')
      ext = base.split('.').last
    else
      ext = nil
    end

    body = BodyProxy.new(body) do

      # Don't log on ignored extensions
      unless @@ignore_extensions.include?(ext)
        log(env, status, header, began_at)
      end
    end

    # Because of web sockets, the initial request doesn't finish, so we
    # can just trigger it now.
    if !ext && !path.start_with?('/channel')
      log(env, status, header, began_at)
    end

    [status, header, body]
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
volt-0.8.27.beta2 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.27.beta1 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.26.beta1 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.26 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.24 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.23 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.22 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.22.beta2 lib/volt/server/rack/quiet_common_logger.rb
volt-0.8.22.beta1 lib/volt/server/rack/quiet_common_logger.rb