|
|
@ -29,7 +29,7 @@ |
|
|
|
#define STATS_DEST "/var/www/html/DEXstats.json" |
|
|
|
#include "DEXstats.h" |
|
|
|
char *stats_JSON(void *ctx,char *myipaddr,int32_t mypubsock,cJSON *argjson,char *remoteaddr,uint16_t port); |
|
|
|
void LP_queuecommand(char **retstrp,char *buf,int32_t responsesock,int32_t stats_JSONonly); |
|
|
|
void LP_queuecommand(char **retstrp,char *buf,int32_t responsesock,int32_t stats_JSONonly,uint32_t queueid); |
|
|
|
extern uint32_t DOCKERFLAG; |
|
|
|
|
|
|
|
char *stats_validmethods[] = |
|
|
@ -335,7 +335,7 @@ extern int32_t IPC_ENDPOINT; |
|
|
|
char *stats_rpcparse(char *retbuf,int32_t bufsize,int32_t *jsonflagp,int32_t *postflagp,char *urlstr,char *remoteaddr,char *filetype,uint16_t port) |
|
|
|
{ |
|
|
|
static void *ctx; |
|
|
|
cJSON *tokens,*argjson,*origargjson,*tmpjson=0,*json = 0; long filesize; char symbol[64],buf[4096],*userpass=0,urlmethod[16],*data,url[8192],furl[8192],*retstr=0,*filestr,*token = 0; int32_t i,j,n,num=0; |
|
|
|
cJSON *tokens,*argjson,*origargjson,*tmpjson=0,*json = 0; long filesize; char symbol[64],buf[4096],*userpass=0,urlmethod[16],*data,url[8192],furl[8192],*retstr=0,*filestr,*token = 0; int32_t i,j,n,num=0; uint32_t queueid; |
|
|
|
if ( ctx == 0 ) |
|
|
|
ctx = bitcoin_ctx(); |
|
|
|
for (i=0; i<sizeof(urlmethod)-1&&urlstr[i]!=0&&urlstr[i]!=' '; i++) |
|
|
@ -570,23 +570,21 @@ char *stats_rpcparse(char *retbuf,int32_t bufsize,int32_t *jsonflagp,int32_t *po |
|
|
|
#ifdef FROM_MARKETMAKER |
|
|
|
if ( strcmp(remoteaddr,"127.0.0.1") == 0 || LP_valid_remotemethod(arg) > 0 ) |
|
|
|
{ |
|
|
|
if ( IPC_ENDPOINT >= 0 ) |
|
|
|
if ( IPC_ENDPOINT >= 0 && (queueid= juint(arg,"queueid")) > 0 ) |
|
|
|
{ |
|
|
|
if ( jobj(arg,"id") == 0 ) |
|
|
|
jaddnum(arg,"id",rand()); |
|
|
|
buf = jprint(arg,0); |
|
|
|
LP_queuecommand(&retstr,buf,-1,1); |
|
|
|
LP_queuecommand(&retstr,buf,-1,1,queueid); |
|
|
|
free(buf); |
|
|
|
retstr = clonestr("{\"result\":\"success\",\"status\":\"queued\"}"); |
|
|
|
} else retstr = stats_JSON(ctx,"127.0.0.1",-1,arg,remoteaddr,port); |
|
|
|
} else retstr = clonestr("{\"error\":\"invalid remote method\"}"); |
|
|
|
#else |
|
|
|
if ( IPC_ENDPOINT >= 0 ) |
|
|
|
if ( IPC_ENDPOINT >= 0 && (queueid= juint(arg,"queueid")) > 0 ) |
|
|
|
{ |
|
|
|
if ( jobj(arg,"id") == 0 ) |
|
|
|
jaddnum(arg,"id",rand()); |
|
|
|
buf = jprint(arg,0); |
|
|
|
LP_queuecommand(&retstr,buf,-1,1); |
|
|
|
LP_queuecommand(&retstr,buf,-1,1,queueid); |
|
|
|
free(buf); |
|
|
|
} else retstr = stats_JSON(ctx,myipaddr,-1,arg,remoteaddr,port); |
|
|
|
#endif |
|
|
|