'Raises stored :class:`HTTPError` or :class:`URLError`, if one occurred.'

def raise_for_status(self, allow_redirects=True):

    if (self.status_code == 304):
        return
    elif self.error:
        if self.traceback:
            six.reraise(Exception, Exception(self.error), Traceback.from_string(self.traceback).as_traceback())
        http_error = HTTPError(self.error)
    elif ((self.status_code >= 300) and (self.status_code < 400) and (not allow_redirects)):
        http_error = HTTPError(('%s    Redirection' % self.status_code))
    elif ((self.status_code >= 400) and (self.status_code < 500)):
        http_error = HTTPError(('%s    Client    Error' % self.status_code))
    elif ((self.status_code >= 500) and (self.status_code < 600)):
        http_error = HTTPError(('%s    Server    Error' % self.status_code))
    else:
        return
    http_error.response = self
    raise http_error
