Correct for golang's header normalization

* Use Header.Get() rather than index directly.
* move push defer after error check because otherwise exception