mirror of
https://github.com/lxsang/ant-http
synced 2024-12-27 09:18:22 +01:00
cleamup
This commit is contained in:
parent
c0c6fb4c1a
commit
d12b6122da
@ -372,24 +372,6 @@ void badrequest(void* client)
|
|||||||
__t(client,"The request could not be understood by the server due to malformed syntax.");
|
__t(client,"The request could not be understood by the server due to malformed syntax.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decode the HTTP POST request with URL encode
|
|
||||||
* @param client socket client
|
|
||||||
* @param len content length
|
|
||||||
* @return query string
|
|
||||||
*/
|
|
||||||
char* post_url_decode(void* client,int len)
|
|
||||||
{
|
|
||||||
char *query = (char*) malloc((len+1)*sizeof(char));
|
|
||||||
for (int i = 0; i < len; i++) {
|
|
||||||
antd_recv(client, (query+i), 1);
|
|
||||||
}
|
|
||||||
query[len]='\0';
|
|
||||||
//query = url_decode(query);
|
|
||||||
LOG("POST Query %s\n", query);
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
char* apply_rules(const char* host, char*url)
|
char* apply_rules(const char* host, char*url)
|
||||||
{
|
{
|
||||||
association it;
|
association it;
|
||||||
@ -458,7 +440,7 @@ dictionary decode_request(void* client,const char* method, char* url)
|
|||||||
token = strsep(&line,":");
|
token = strsep(&line,":");
|
||||||
trim(token,' ');
|
trim(token,' ');
|
||||||
trim(line,' ');
|
trim(line,' ');
|
||||||
dput(xheader,token,line);
|
dput(xheader,token,strdup(line));
|
||||||
if(token != NULL &&strcasecmp(token,"Cookie") == 0)
|
if(token != NULL &&strcasecmp(token,"Cookie") == 0)
|
||||||
{
|
{
|
||||||
if(!cookie) cookie = decode_cookie(line);
|
if(!cookie) cookie = decode_cookie(line);
|
||||||
@ -524,24 +506,25 @@ dictionary decode_request(void* client,const char* method, char* url)
|
|||||||
// decide what to do with the data
|
// decide what to do with the data
|
||||||
if(strstr(ctype,FORM_URL_ENCODE) > 0)
|
if(strstr(ctype,FORM_URL_ENCODE) > 0)
|
||||||
{
|
{
|
||||||
request = decode_url_request(post_url_decode(client,clen));
|
request = decode_url_request(post_data_decode(client,clen));
|
||||||
} else if(strstr(ctype,FORM_MULTI_PART)> 0)
|
} else if(strstr(ctype,FORM_MULTI_PART)> 0)
|
||||||
{
|
{
|
||||||
//printf("Multi part form : %s\n", ctype);
|
//printf("Multi part form : %s\n", ctype);
|
||||||
request = decode_multi_part_request(client,ctype);
|
request = decode_multi_part_request(client,ctype);
|
||||||
}
|
}
|
||||||
else if(strstr(ctype,APP_JSON) > 0)
|
|
||||||
{
|
|
||||||
char* query = json_data_decode(client,clen);
|
|
||||||
request = dict();
|
|
||||||
dput(request,"json", strdup(query));
|
|
||||||
free(query);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG("Un supported yet %s\n",ctype);
|
char* query = post_data_decode(client,clen);
|
||||||
return NULL;
|
char* key = strstr(ctype,"/");
|
||||||
|
if(key)
|
||||||
|
key++;
|
||||||
|
else
|
||||||
|
key = ctype;
|
||||||
|
request = dict();
|
||||||
|
dput(request,key, strdup(query));
|
||||||
|
free(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(ctype) free(ctype);
|
if(ctype) free(ctype);
|
||||||
//if(cookie->key == NULL) {free(cookie);cookie= NULL;}
|
//if(cookie->key == NULL) {free(cookie);cookie= NULL;}
|
||||||
@ -795,9 +778,9 @@ dictionary decode_url_request(const char* query)
|
|||||||
return dic;
|
return dic;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Decode JSON query string to string
|
* Decode post query string to string
|
||||||
*/
|
*/
|
||||||
char* json_data_decode(void* client,int len)
|
char* post_data_decode(void* client,int len)
|
||||||
{
|
{
|
||||||
char *query = (char*) malloc((len+1)*sizeof(char));
|
char *query = (char*) malloc((len+1)*sizeof(char));
|
||||||
for (int i = 0; i < len; i++) {
|
for (int i = 0; i < len; i++) {
|
||||||
@ -805,7 +788,7 @@ char* json_data_decode(void* client,int len)
|
|||||||
}
|
}
|
||||||
query[len]='\0';
|
query[len]='\0';
|
||||||
//query = url_decode(query);
|
//query = url_decode(query);
|
||||||
LOG("JSON Query %s\n", query);
|
//LOG("JSON Query %s\n", query);
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
#define FORM_URL_ENCODE "application/x-www-form-urlencoded"
|
#define FORM_URL_ENCODE "application/x-www-form-urlencoded"
|
||||||
#define FORM_MULTI_PART "multipart/form-data"
|
#define FORM_MULTI_PART "multipart/form-data"
|
||||||
#define APP_JSON "application/json"
|
|
||||||
#define PLUGIN_HANDLER "handler"
|
#define PLUGIN_HANDLER "handler"
|
||||||
#define WS_MAGIC_STRING "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
|
#define WS_MAGIC_STRING "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
|
||||||
|
|
||||||
@ -41,7 +40,7 @@ dictionary decode_url_request(const char* query);
|
|||||||
dictionary decode_request(void* client,const char* method, char* url);
|
dictionary decode_request(void* client,const char* method, char* url);
|
||||||
dictionary decode_multi_part_request(void*,const char*);
|
dictionary decode_multi_part_request(void*,const char*);
|
||||||
dictionary decode_cookie(const char*);
|
dictionary decode_cookie(const char*);
|
||||||
char* json_data_decode(void*,int);
|
char* post_data_decode(void*,int);
|
||||||
|
|
||||||
int execute_plugin(void* client, const char *path,
|
int execute_plugin(void* client, const char *path,
|
||||||
const char *method, dictionary rq);
|
const char *method, dictionary rq);
|
||||||
|
Loading…
Reference in New Issue
Block a user