mirror of
https://github.com/ntop/n2n.git
synced 2024-09-19 16:41:11 +02:00
Add a helper for simple 1 arg json replies
This commit is contained in:
parent
64e5329bca
commit
58fedeed95
|
@ -76,42 +76,50 @@ static void send_reply (mgmt_req_t *req, char *udp_buf, size_t msg_len) {
|
||||||
(struct sockaddr *) &req->sender_sock, sizeof(struct sockaddr_in));
|
(struct sockaddr *) &req->sender_sock, sizeof(struct sockaddr_in));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void send_json_1str (mgmt_req_t *req, char *udp_buf, char *_type, char *key, char *val) {
|
||||||
|
size_t msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
||||||
|
"{"
|
||||||
|
"\"_tag\":\"%s\","
|
||||||
|
"\"_type\":\"%s\","
|
||||||
|
"\"%s\":\"%s\"}\n",
|
||||||
|
req->tag,
|
||||||
|
_type,
|
||||||
|
key,
|
||||||
|
val);
|
||||||
|
send_reply(req, udp_buf, msg_len);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void send_json_1uint (mgmt_req_t *req, char *udp_buf, char *_type, char *key, unsigned int val) {
|
||||||
|
size_t msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
||||||
|
"{"
|
||||||
|
"\"_tag\":\"%s\","
|
||||||
|
"\"_type\":\"%s\","
|
||||||
|
"\"%s\":%u}\n",
|
||||||
|
req->tag,
|
||||||
|
_type,
|
||||||
|
key,
|
||||||
|
val);
|
||||||
|
send_reply(req, udp_buf, msg_len);
|
||||||
|
}
|
||||||
|
|
||||||
static void event_debug (mgmt_req_t *req, char *udp_buf) {
|
static void event_debug (mgmt_req_t *req, char *udp_buf) {
|
||||||
send_reply(req, "test", 4);
|
send_reply(req, "test", 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mgmt_error (mgmt_req_t *req, char *udp_buf, char *msg) {
|
static void mgmt_error (mgmt_req_t *req, char *udp_buf, char *msg) {
|
||||||
size_t msg_len;
|
send_json_1str(req, udp_buf, "error", "error", msg);
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
|
||||||
"{"
|
|
||||||
"\"_tag\":\"%s\","
|
|
||||||
"\"_type\":\"error\","
|
|
||||||
"\"error\":\"%s\"}\n",
|
|
||||||
req->tag,
|
|
||||||
msg);
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mgmt_stop (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
static void mgmt_stop (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
||||||
size_t msg_len;
|
|
||||||
|
|
||||||
if(req->type==N2N_MGMT_WRITE) {
|
if(req->type==N2N_MGMT_WRITE) {
|
||||||
*req->eee->keep_running = 0;
|
*req->eee->keep_running = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
send_json_1uint(req, udp_buf, "row", "keep_running", *req->eee->keep_running);
|
||||||
"{"
|
|
||||||
"\"_tag\":\"%s\","
|
|
||||||
"\"_type\":\"row\","
|
|
||||||
"\"keep_running\":%u}\n",
|
|
||||||
req->tag,
|
|
||||||
*req->eee->keep_running);
|
|
||||||
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mgmt_verbose (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
static void mgmt_verbose (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
||||||
size_t msg_len;
|
|
||||||
|
|
||||||
if(req->type==N2N_MGMT_WRITE) {
|
if(req->type==N2N_MGMT_WRITE) {
|
||||||
if(argv) {
|
if(argv) {
|
||||||
|
@ -119,34 +127,17 @@ static void mgmt_verbose (mgmt_req_t *req, char *udp_buf, char *argv0, char *arg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
send_json_1uint(req, udp_buf, "row", "traceLevel", getTraceLevel());
|
||||||
"{"
|
|
||||||
"\"_tag\":\"%s\","
|
|
||||||
"\"_type\":\"row\","
|
|
||||||
"\"traceLevel\":%u}\n",
|
|
||||||
req->tag,
|
|
||||||
getTraceLevel());
|
|
||||||
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mgmt_communities (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
static void mgmt_communities (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
||||||
size_t msg_len;
|
|
||||||
|
|
||||||
if(req->eee->conf.header_encryption != HEADER_ENCRYPTION_NONE) {
|
if(req->eee->conf.header_encryption != HEADER_ENCRYPTION_NONE) {
|
||||||
mgmt_error(req, udp_buf, "noaccess");
|
mgmt_error(req, udp_buf, "noaccess");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
send_json_1str(req, udp_buf, "row", "community", req->eee->conf.community_name);
|
||||||
"{"
|
|
||||||
"\"_tag\":\"%s\","
|
|
||||||
"\"_type\":\"row\","
|
|
||||||
"\"community\":\"%s\"}",
|
|
||||||
req->tag,
|
|
||||||
req->eee->conf.community_name);
|
|
||||||
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mgmt_supernodes (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
static void mgmt_supernodes (mgmt_req_t *req, char *udp_buf, char *argv0, char *argv) {
|
||||||
|
@ -438,7 +429,6 @@ static void handleMgmtJson (mgmt_req_t *req, char *udp_buf, const int recvlen) {
|
||||||
char *flagstr;
|
char *flagstr;
|
||||||
int flags;
|
int flags;
|
||||||
char *auth;
|
char *auth;
|
||||||
size_t msg_len;
|
|
||||||
|
|
||||||
/* Initialise the tag field until we extract it from the cmdline */
|
/* Initialise the tag field until we extract it from the cmdline */
|
||||||
req->tag[0] = '-';
|
req->tag[0] = '-';
|
||||||
|
@ -536,15 +526,11 @@ static void handleMgmtJson (mgmt_req_t *req, char *udp_buf, const int recvlen) {
|
||||||
* that make our JSON invalid.
|
* that make our JSON invalid.
|
||||||
* - do we care?
|
* - do we care?
|
||||||
*/
|
*/
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
send_json_1str(req, udp_buf, "begin", "cmd", argv0);
|
||||||
"{\"_tag\":\"%s\",\"_type\":\"begin\",\"cmd\":\"%s\"}\n", req->tag, argv0);
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
|
|
||||||
mgmt_handlers[handler].func(req, udp_buf, argv0, argv);
|
mgmt_handlers[handler].func(req, udp_buf, argv0, argv);
|
||||||
|
|
||||||
msg_len = snprintf(udp_buf, N2N_PKT_BUF_SIZE,
|
send_json_1str(req, udp_buf, "end", "cmd", argv0);
|
||||||
"{\"_tag\":\"%s\",\"_type\":\"end\"}\n", req->tag);
|
|
||||||
send_reply(req, udp_buf, msg_len);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user