'Do the actual comparison.
@param body: The response body.
@type body: L{bytes}
@param response: The response object.
@type response: L{twisted.web.iweb.IResponse}
@raise: If the response fails to meet any of the requirements.
@return: If the response meets all the requirements, C{None}.'

def _verifyWithBody(self, body, response):

    problems = []
    if (self.code != response.code):
        problems.append(('response    code:    %r    !=    %r' % (self.code, response.code)))
    for (name, expected) in self.headers.getAllRawHeaders():
        received = response.headers.getRawHeaders(name)
        if (expected != received):
            problems.append(('header    %r:    %r    !=    %r' % (name, expected, received)))
    if (self.body != body):
        problems.append(('body:    %r    !=    %r' % (self.body, body)))
    if problems:
        raise Exception('\n                '.join(([''] + problems)))
