mirror of
https://github.com/emqx/neuron.git
synced 2026-10-18 13:41:22 +08:00
feat(restful): add node api support setting
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user