def get_service_document(self):
        headers = {}
        if self.on_behalf_of:
            headers['on-behalf-of'] = self.on_behalf_of
        self._t.start("SD_URI request")
        resp, content = self.h.request(self.sd_iri, "GET", headers=headers)
        _, took_time = self._t.time_since_start("SD_URI request")
        if self.history:
            self.history.log('SD_IRI GET', 
                             sd_iri = self.sd_iri,
                             response = resp, 
                             process_duration = took_time)
        if resp['status'] == 200:
            conn_l.info("Received a document for %s" % self.sd_iri)
            self.load_service_document(content)
        elif resp['status'] == 401:
            conn_l.error("You are unauthorised (401) to access this document on the server. Check your username/password credentials")
        else:
            conn_l.error("Unexpected response status: " + str(resp['status']))
Test abstract rule with single rule reference.
dataset/ETHPy150Open swordapp/python-client-sword2/sword2/connection.py/Connection.get_service_document--crossover with--dataset/ETHPy150Open igordejanovic/textX/tests/functional/test_textx_language.py/test_abstract_single