HTTP should not use `str(e)` to stringify errors because `str()` only exists in Python.

Doh. Also there should be a test for this error case.