fn _register_metadata()

in shenyu-client-rust/src/core.rs [344:387]


    fn _register_metadata(
        &self,
        app_name: &str,
        rpc_type: &str,
        context_path: String,
        path: &str,
        method: Option<&str>,
        rule_name: String,
        namespace_id: &str,
        enabled: bool,
    ) {
        let json_data = serde_json::json!({
            "appName": app_name,
            "contextPath": context_path.clone(),
            "path": context_path.clone() + path,
            "pathDesc": "",
            "rpcType": rpc_type,
            "ruleName": context_path.clone() + rule_name.as_str(),
            "serviceName": app_name,
            "methodName": method.unwrap_or("").to_string(),
            "parameterTypes": "",
            "rpcExt": "",
            "host": self.host.clone().unwrap(),
            "port": self.port,
            "namespaceId": namespace_id,
            "enabled": enabled,
            "registerMetaData": "",
            "pluginNames": []
        });

        for url in &self.register_meta_data_path_list {
            if let Ok(true) = self.request(url, &json_data) {
                info!(
                    "[SUCCESS], register metadata success, register data: {:#?}",
                    &json_data
                );
                continue;
            }
            error!(
                "[ERROR], register metadata to {} failed, app_name: {}, path: {}, contextPath: {}",
                url, app_name, path, context_path
            );
        }
    }