diff --git a/models/site.rb b/models/site.rb index 5d7af285..df0185c1 100644 --- a/models/site.rb +++ b/models/site.rb @@ -1438,7 +1438,7 @@ class Site < Sequel::Model return uri unless path path = '' if path == '/' || path =~ ROOT_INDEX_HTML_REGEX - path = path.sub(%r{^/}, '').sub(%r{/index\.html$}, '/').sub(/\.html$/, '') + path = path.sub(%r{^/}, '').sub(%r{/index\.html?$}, '/').sub(/\.html?$/, '') unless path.empty? escaped_path = self.class.escape_path path diff --git a/tests/workers/screenshot_worker_tests.rb b/tests/workers/screenshot_worker_tests.rb index 713cc717..6e5bbdb9 100644 --- a/tests/workers/screenshot_worker_tests.rb +++ b/tests/workers/screenshot_worker_tests.rb @@ -12,7 +12,7 @@ describe ScreenshotWorker do base_host += ":#{uri.port}" end - stub_request(:get, "#{base_host}/?url=#{site.uri}/#{path}&wait_time=#{ScreenshotWorker::PAGE_WAIT_TIME}"). + stub_request(:get, "#{base_host}/?url=#{site.uri(path)}&wait_time=#{ScreenshotWorker::PAGE_WAIT_TIME}"). with(basic_auth: [uri.user, uri.password]). to_return(status: 200, headers: {}, body: File.read('tests/files/img/screenshot.png')) diff --git a/workers/screenshot_worker.rb b/workers/screenshot_worker.rb index 61967624..23c64e1d 100644 --- a/workers/screenshot_worker.rb +++ b/workers/screenshot_worker.rb @@ -37,11 +37,11 @@ class ScreenshotWorker uri = Addressable::URI.parse $config['screenshot_urls'].sample api_user, api_password = uri.user, uri.password + uri = "#{uri.scheme}://#{uri.host}:#{uri.port}" + '?' + Rack::Utils.build_query( - url: Site.select(:username,:domain).where(username: username).first.uri + path, + url: site.uri(path), wait_time: PAGE_WAIT_TIME ) - begin base_image_tmpfile_path = "/tmp/#{SecureRandom.uuid}.png"