I've been following the pattern of putting the error text in the error, instead of inline. That way, you can do something like this:

```ruby
class ContentLengthMismatch < RuntimeError
  def initialize(response_length, content_length)
    super <<-EOH
"Response body length #{response_length} does not match HTTP Content-Length header #{content_length}."
EOH
  end
end
```

And then 

```ruby
raise ContentLengthMismatch.new('x', 'y')
```

in the tests. This also ensures consistency between error messages. What do you think?