def _handle_error_response(self, resp, content):
        conn_l.debug("Error body received from server: " + str(content))
        
        if resp['status'] == 401:
            conn_l.error("You are unauthorised (401) to access this document on the server. Check your username/password credentials and your 'On Behalf Of'")
            return self._return_error_or_exception(NotAuthorised, resp, content)
        elif resp['status'] == 403:
            conn_l.error("You are Forbidden (401) to POST to '%s'. Check your username/password credentials and your 'On Behalf Of'")
            return self._return_error_or_exception(Forbidden, resp, content)
        elif resp['status'] == 406:
            conn_l.error("Cannot negotiate for desired format/packaging on '%s'.")
            return self._return_error_or_exception(NotAcceptable, resp, content)
        elif resp['status'] == 408:
            conn_l.error("Request Timeout (408) - error uploading.")
            return self._return_error_or_exception(RequestTimeOut, resp, content)
        elif int(resp['status']) > 499:
            conn_l.error("Server error occured. Response headers from the server:\n%s" % resp)
            return self._return_error_or_exception(ServerError, resp, content)
        else:
            conn_l.error("Unknown error occured. Response headers from the server:\n%s\n%s" % (resp, content))
            return self._return_error_or_exception(HTTPResponseError, resp, content)
Catch a number of general HTTP error responses from the server, based on HTTP code
dataset/ETHPy150Open swordapp/python-client-sword2/sword2/connection.py/Connection._handle_error_response