From ebc9bb51b00adf9f499c5ed28f024a03adb1dd06 Mon Sep 17 00:00:00 2001 From: pavel Date: Sat, 19 Oct 2019 00:15:10 +0200 Subject: TypeError Regexp#match?(nil) in Ruby Head --- lib/rack/static.rb | 2 +- lib/rack/utils.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rack/static.rb b/lib/rack/static.rb index 24c40505..7332914a 100644 --- a/lib/rack/static.rb +++ b/lib/rack/static.rb @@ -125,7 +125,7 @@ module Rack if can_serve(path) if overwrite_file_path(path) env[PATH_INFO] = (add_index_root?(path) ? path + @index : @urls[path]) - elsif @gzip && /\bgzip\b/.match?(env['HTTP_ACCEPT_ENCODING']) + elsif @gzip && env['HTTP_ACCEPT_ENCODING'] && /\bgzip\b/.match?(env['HTTP_ACCEPT_ENCODING']) path = env[PATH_INFO] env[PATH_INFO] += '.gz' response = @file_server.call(env) diff --git a/lib/rack/utils.rb b/lib/rack/utils.rb index 43d70a85..38d37aae 100644 --- a/lib/rack/utils.rb +++ b/lib/rack/utils.rb @@ -138,7 +138,7 @@ module Rack q_value_header.to_s.split(/\s*,\s*/).map do |part| value, parameters = part.split(/\s*;\s*/, 2) quality = 1.0 - if md = /\Aq=([\d.]+)/.match(parameters) + if parameters && (md = /\Aq=([\d.]+)/.match(parameters)) quality = md[1].to_f end [value, quality] -- cgit v1.2.3-24-ge0c7