File.read assumes that the file is encoded with default external encoding. This was causing a regexp match failure because the String was UTF-8 while the Regexp was binary. Opening the file with a binary mode and slurping corrects the issue.
This is a backwards incompatible change that removes header name normalization while attempting to keep most of its benefits. The header name case is preserved but the Hash has case insensitive lookup, replace, delete, and include semantics.