If the ``Content-MD5`` request header is present in the request
        it's verified against the MD5 hash of the request body. If they don't
        match, a 400 HTTP response is returned.

        :raises: :class:`webob.exceptions.ResponseException` of status 400 if
                 the MD5 hash does not match the body.

def assert_condition_md5(self):
        """If the ``Content-MD5`` request header is present in the request
        it's verified against the MD5 hash of the request body. If they don't
        match, a 400 HTTP response is returned.

        :raises: :class:`webob.exceptions.ResponseException` of status 400 if
                 the MD5 hash does not match the body.
        """
        if 'Content-MD5' in self.request.headers:
            body_md5 = hashlib.md5(self.request.body).hexdigest()
            if body_md5 != self.request.headers['Content-MD5']:
                raise_400(self, msg='Invalid Content-MD5 request header.')