diff --git a/lib/prerender_rails.rb b/lib/prerender_rails.rb index e3e6bb7..cbf5eb0 100644 --- a/lib/prerender_rails.rb +++ b/lib/prerender_rails.rb @@ -117,7 +117,6 @@ def initialize(app, options={}) '.rar', '.exe', '.wmv', - '.doc', '.avi', '.ppt', '.mpg', @@ -136,7 +135,16 @@ def initialize(app, options={}) '.iso', '.flv', '.m4v', - '.torrent' + '.torrent', + '.ttf', + '.otf', + '.woff', + '.woff2', + '.eot', + '.svg', + '.webp', + '.avif', + '.webmanifest' ] @options = options diff --git a/test/lib/prerender_rails.rb b/test/lib/prerender_rails.rb index 719b61e..b8d5d26 100644 --- a/test/lib/prerender_rails.rb +++ b/test/lib/prerender_rails.rb @@ -74,6 +74,14 @@ end + it "should continue to app routes if user is a bot, but the bot is requesting a font file" do + request = Rack::MockRequest.env_for "/fonts/inter.woff2", "HTTP_USER_AGENT" => bot + response = Rack::Prerender.new(@app).call(request) + + assert_equal "", response[2] + end + + it "should continue to app routes if the url is not part of the regex specific whitelist" do request = Rack::MockRequest.env_for "/saved/search/blah?_escaped_fragment_=", "HTTP_USER_AGENT" => bot response = Rack::Prerender.new(@app, whitelist: ['^/search', '/help']).call(request)