class Rack::LiveReload::ProcessingSkipAnalyzer

Constants

BAD_USER_AGENTS

Public Class Methods

new(result, env, options) click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 12
def initialize(result, env, options)
  @env, @options = env, options

  @status, @headers, @body = result
end
skip_processing?(result, env, options) click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 8
def self.skip_processing?(result, env, options)
  new(result, env, options).skip_processing?
end

Public Instance Methods

bad_browser?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 35
def bad_browser?
  BAD_USER_AGENTS.any? { |pattern| @env['HTTP_USER_AGENT'] =~ pattern }
end
chunked?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 22
def chunked?
  @headers['Transfer-Encoding'] == 'chunked'
end
get?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 43
def get?
  @env['REQUEST_METHOD'] == 'GET'
end
html?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 39
def html?
  @headers['Content-Type'] =~ %r{text/html}
end
ignored?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 30
def ignored?
  path = @env['QUERY_STRING'].empty? ? @env['PATH_INFO'] : "#{@env['PATH_INFO']}?#{@env['QUERY_STRING']}"
  @options[:ignore] and @options[:ignore].any? { |filter| path[filter] }
end
inline?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 26
def inline?
  @headers['Content-Disposition'] =~ %r{^inline}
end
skip_processing?() click to toggle source
# File lib/rack/livereload/processing_skip_analyzer.rb, line 18
def skip_processing?
  !html? || chunked? || inline? || ignored? || bad_browser? || !get?
end