<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rpc_get_name_DID(self, name, **con_info):
 """ Given a name or subdomain, return its DID. """

        did_info = None
        if check_name(name):
            did_info = self.get_name_DID_info(name)
        elif check_subdomain(name):
            did_info = self.get_subdomain_DID_info(name)
        else:
            return {'error': 'Invalid name or subdomain', 'http_status': 400}

        if did_info is None:
            return {'error': 'No DID for this name', 'http_status': 404}

        did = make_DID(did_info['name_type'], did_info['address'], did_info['index'])
        return self.success_response({'did': did})