Browse Source

test

release/v0.1
jl777 8 years ago
parent
commit
04c0615aba
  1. 15
      iguana/iguana_rpc.c

15
iguana/iguana_rpc.c

@ -820,9 +820,9 @@ cJSON *SuperNET_urlconv(char *value,int32_t bufsize,char *urlstr)
char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsize,int32_t *jsonflagp,int32_t *postflagp,char *urlstr,char *remoteaddr,char *filetype,uint16_t port) char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsize,int32_t *jsonflagp,int32_t *postflagp,char *urlstr,char *remoteaddr,char *filetype,uint16_t port)
{ {
cJSON *tokens,*argjson,*json = 0; long filesize; cJSON *tokens,*argjson,*origargjson,*json = 0; long filesize;
char symbol[16],buf[4096],urlmethod[16],*data,url[1024],*retstr,*filestr,*token = 0; int32_t i,j,n,num=0; char symbol[16],buf[4096],urlmethod[16],*data,url[1024],*retstr,*filestr,*token = 0; int32_t i,j,n,num=0;
printf("rpcparse.(%s)\n",urlstr); //printf("rpcparse.(%s)\n",urlstr);
for (i=0; i<sizeof(urlmethod)-1&&urlstr[i]!=0&&urlstr[i]!=' '; i++) for (i=0; i<sizeof(urlmethod)-1&&urlstr[i]!=0&&urlstr[i]!=' '; i++)
urlmethod[i] = urlstr[i]; urlmethod[i] = urlstr[i];
urlmethod[i++] = 0; urlmethod[i++] = 0;
@ -835,7 +835,7 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz
n += i; n += i;
j = i = 0; j = i = 0;
filetype[0] = 0; filetype[0] = 0;
printf("url.(%s) method.(%s)\n",&url[i],urlmethod); //printf("url.(%s) method.(%s)\n",&url[i],urlmethod);
if ( strcmp(&url[i],"/") == 0 && strcmp(urlmethod,"GET") == 0 ) if ( strcmp(&url[i],"/") == 0 && strcmp(urlmethod,"GET") == 0 )
{ {
static int counter; static int counter;
@ -915,7 +915,7 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz
jaddstr(argjson,"agent",jstri(tokens,0)); jaddstr(argjson,"agent",jstri(tokens,0));
if ( num > 1 ) if ( num > 1 )
jaddstr(argjson,"method",jstri(tokens,1)); jaddstr(argjson,"method",jstri(tokens,1));
printf("urlstr.(%s)\n",urlstr+n); //printf("urlstr.(%s)\n",urlstr+n);
if ( (json= SuperNET_urlconv(retbuf,bufsize,urlstr+n)) != 0 ) if ( (json= SuperNET_urlconv(retbuf,bufsize,urlstr+n)) != 0 )
{ {
jadd(json,"tokens",tokens); jadd(json,"tokens",tokens);
@ -1007,14 +1007,17 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz
} }
} }
printf("after urlconv.(%s) argjson.(%s)\n",jprint(json,0),jprint(argjson,0)); printf("after urlconv.(%s) argjson.(%s)\n",jprint(json,0),jprint(argjson,0));
origargjson = argjson;
if ( is_cJSON_Array(argjson) != 0 && cJSON_GetArraySize(argjson) == 0 )
argjson = jitem(argjson,0);
if ( jstr(argjson,"method") == 0 ) if ( jstr(argjson,"method") == 0 )
{ {
free_json(argjson); free_json(origargjson);
return(0); return(0);
} }
retstr = SuperNET_JSON(myinfo,argjson,remoteaddr,port); retstr = SuperNET_JSON(myinfo,argjson,remoteaddr,port);
printf("(%s) {%s} -> (%s) postflag.%d (%s)\n",urlstr,jprint(argjson,0),cJSON_Print(json),*postflagp,retstr); printf("(%s) {%s} -> (%s) postflag.%d (%s)\n",urlstr,jprint(argjson,0),cJSON_Print(json),*postflagp,retstr);
free_json(argjson); free_json(origargjson);
return(retstr); return(retstr);
} }
*jsonflagp = 1; *jsonflagp = 1;

Loading…
Cancel
Save