in client/apache_shenyu_client/api.py [0:0]
def register_metadata(self, **kwargs):
"""
register path to gateway
path: The path needs to be unique, for example, your path is: /order/findById, your request prefix
is: /hello, the path must be /hello/order/findById
register_all Register all paths ?
rule_name: Can be the same as path
enabled: Whether to open, If you want to open the gateway proxy, you must fill in True
path_desc: Path description, optional filling
register_meta_data: Need to register metadata, not for http request, fill in false
"""
if not kwargs.get("register_all") and not kwargs.get("path"):
return False
register_all = kwargs.get("register_all", False)
path = kwargs.get("path", "")
rule_name = kwargs.get("rule_name", "")
enabled = kwargs.get("enabled", True)
path_desc = kwargs.get("path_desc", "")
register_meta_data = kwargs.get("register_meta_data", False)
if register_all:
path = self.context_path + "**" if self.context_path.endswith("/") else self.context_path + "/**"
rule_name = path if not rule_name else rule_name
json_data = {
"appName": self.app_name,
"contextPath": self.context_path,
"path": path,
"pathDesc": path_desc,
"rpcType": self.rpc_type,
"ruleName": rule_name,
"enabled": enabled,
"registerMetaData": register_meta_data,
"pluginNames": []
}
register_flag = False
for _url in self.register_meta_data_path_list:
res = self._request(_url, json_data)
if not res:
continue
else:
print("[SUCCESS], register metadata success, register data is:{}".format(str(json_data)))
register_flag = True
break
if not register_flag:
print("[ERROR],register metadata fail, app_name:{}, path:{}, contextPath:{}".format(self.app_name,
path,
self.context_path))
return register_flag