feat(restful): add node api support setting

This commit is contained in:
eeff
2024-01-09 15:37:13 +08:00
parent 5584722dbd
commit dbe72f50bc
3 changed files with 13 additions and 1 deletions
+4 -1
View File
@@ -52,8 +52,11 @@ void handle_add_adapter(nng_aio *aio)
header.type = NEU_REQ_ADD_NODE;
strcpy(cmd.node, req->name);
strcpy(cmd.plugin, req->plugin);
ret = neu_plugin_op(plugin, header, &cmd);
cmd.setting = req->setting;
req->setting = NULL; // moved
ret = neu_plugin_op(plugin, header, &cmd);
if (ret != 0) {
neu_req_add_node_fini(&cmd);
NEU_JSON_RESPONSE_ERROR(NEU_ERR_IS_BUSY, {
neu_http_response(aio, NEU_ERR_IS_BUSY, result_error);
});
+8
View File
@@ -81,10 +81,17 @@ int neu_json_decode_add_node_req(char *buf, neu_json_add_node_req_t **result)
req->plugin = req_elems[0].v.val_str;
req->name = req_elems[1].v.val_str;
ret = neu_json_dump_key(json_obj, "params", &req->setting, false);
if (0 != ret) {
goto decode_fail;
}
*result = req;
goto decode_exit;
decode_fail:
free(req_elems[0].v.val_str);
free(req_elems[1].v.val_str);
free(req);
ret = -1;
@@ -100,6 +107,7 @@ void neu_json_decode_add_node_req_free(neu_json_add_node_req_t *req)
free(req->plugin);
free(req->name);
free(req->setting);
free(req);
}
+1
View File
@@ -35,6 +35,7 @@ extern "C" {
typedef struct {
char *name;
char *plugin;
char *setting;
} neu_json_add_node_req_t;
int neu_json_encode_add_node_req(void *json_object, void *param);