A dumb string comparison will do here, so there's no point in paying the memory and CPU cost of a regexp match when we already extracted the suffix from a header key. --- lib/yahns/proxy_pass.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/yahns/proxy_pass.rb b/lib/yahns/proxy_pass.rb index 48a61af..1b8eed7 100644 --- a/lib/yahns/proxy_pass.rb +++ b/lib/yahns/proxy_pass.rb @@ -223,7 +223,8 @@ class Yahns::ProxyPass # :nodoc: # header in the request next if /\A(?:VERSION|CONNECTION|KEEP_ALIVE|X_FORWARDED_FOR|TRAILER)/ =~ key - chunked = true if %r{\ATRANSFER_ENCODING} =~ key && val =~ /\bchunked\b/i + 'TRANSFER_ENCODING'.freeze == key && val =~ /\bchunked\b/i and + chunked = true key.tr!('_'.freeze, '-'.freeze) req << "#{key}: #{val}\r\n" end -- EW