'Handle the response, making another request if it indicates a redirect.'

def _handleResponse(self, response, method, uri, headers, redirectCount):

    if (response.code in self._redirectResponses):
        if (method not in ('GET', 'HEAD')):
            err = error.PageRedirect(response.code, location=uri)
            raise ResponseFailed([Failure(err)], response)
        return self._handleRedirect(response, method, uri, headers, redirectCount)
    elif (response.code in self._seeOtherResponses):
        return self._handleRedirect(response, 'GET', uri, headers, redirectCount)
    return response
