diff --git a/lib/rack/livereload/processing_skip_analyzer.rb b/lib/rack/livereload/processing_skip_analyzer.rb index ec2b654..a784730 100644 --- a/lib/rack/livereload/processing_skip_analyzer.rb +++ b/lib/rack/livereload/processing_skip_analyzer.rb @@ -28,8 +28,9 @@ def inline? end 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] } + @options[:ignore] and @options[:ignore].any? do |filter| + @env['REQUEST_URI'][filter] + end end def bad_browser? diff --git a/spec/rack/livereload/processing_skip_analyzer_spec.rb b/spec/rack/livereload/processing_skip_analyzer_spec.rb index 35c19e4..1c77815 100644 --- a/spec/rack/livereload/processing_skip_analyzer_spec.rb +++ b/spec/rack/livereload/processing_skip_analyzer_spec.rb @@ -22,13 +22,13 @@ let(:options) { { :ignore => [ %r{file} ] } } context 'path contains ignore pattern' do - let(:env) { { 'PATH_INFO' => '/this/file', 'QUERY_STRING' => '' } } + let(:env) { { 'REQUEST_URI' => '/this/file', 'QUERY_STRING' => '' } } it { should be_ignored } end context 'root path' do - let(:env) { { 'PATH_INFO' => '/', 'QUERY_STRING' => '' } } + let(:env) { { 'REQUEST_URI' => '/', 'QUERY_STRING' => '' } } it { should_not be_ignored } end @@ -55,22 +55,21 @@ end describe '#ignored?' do - let(:path_info) { 'path info' } - let(:query_string) { 'query_string' } - let(:env) { { 'PATH_INFO' => path_info, 'QUERY_STRING' => query_string } } + let(:request_uri) { 'request_path?query_string' } + let(:env) { { 'REQUEST_URI' => request_uri } } context 'no ignore set' do it { should_not be_ignored } end context 'ignore set' do - let(:options) { { :ignore => [ %r{#{path_info}} ] } } + let(:options) { { :ignore => [ /request_path/ ] } } it { should be_ignored } end context 'ignore set including query_string' do - let(:options) { { :ignore => [ %r{#{path_info}\?#{query_string}} ] } } + let(:options) { { :ignore => [ /query_string/ ] } } it { should be_ignored } end