The refactor in this commit has broken existing code in openstack/glance.
Previously, Glance would decide if it could process a body based on the transfer encoding and this attribute, specifically it uses this method. We call that here and if that is_body_readable returns False, then we act as if there is no body data.
The test in particular that led me to this doesn't specify a body, but it never has. I would agree with you that this is more accurate since it seems we were relying on http_method_probably_has_body.
We can implement that behaviour, but a note about this would have been helpful in the release notes.