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]