lib/appmap/util.rb in appmap-0.66.1 vs lib/appmap/util.rb in appmap-0.66.2

- old
+ new

@@ -106,20 +106,30 @@ end event end - def select_headers(env) + def select_rack_headers(env) + finalize_headers = lambda do |headers| + blank?(headers) ? nil : headers + end + # Rack prepends HTTP_ to all client-sent headers. + + if !env['rack.version'] + warn "Request headers does not contain rack.version. HTTP_ prefix is not expected." + return finalize_headers.call(env.dup) + end + matching_headers = env .select { |k,v| k.start_with? 'HTTP_'} .reject { |k,v| blank?(v) } .each_with_object({}) do |kv, memo| key = kv[0].sub(/^HTTP_/, '').split('_').map(&:capitalize).join('-') value = kv[1] memo[key] = value end - blank?(matching_headers) ? nil : matching_headers + finalize_headers.call(matching_headers) end def normalize_path(path) if path.index(Dir.pwd) == 0 && !path.index(Bundler.bundle_path.to_s) path[Dir.pwd.length + 1..-1]