mirror of
https://github.com/lxsang/ant-http
synced 2024-11-18 01:08:21 +01:00
63 lines
1.0 KiB
C
63 lines
1.0 KiB
C
#include "../plugin.h"
|
|
|
|
void init();
|
|
call __init__ = init;
|
|
|
|
void init()
|
|
{
|
|
printf("Finish init\n");
|
|
}
|
|
|
|
void execute(void* client,const char* method,dictionary rq)
|
|
{
|
|
|
|
/**
|
|
* Set cookie to the browser
|
|
*/
|
|
char* c = server_time();
|
|
dictionary d = dict();
|
|
dput(d,"test",c);
|
|
dput(d,"test1","This is another cookie");
|
|
set_cookie(client,"text/html; charset=utf-8",d,__plugin__.name);
|
|
|
|
LOG("%s",c);
|
|
__t(client,"<h1>Set the cookie</h1>");
|
|
freedict(d);
|
|
}
|
|
|
|
void get(void* client,const char* method,dictionary rq)
|
|
{
|
|
html(client);
|
|
if(rq)
|
|
{
|
|
dictionary ck = (dictionary)dvalue(rq,"cookie");
|
|
if(ck)
|
|
{
|
|
association as;
|
|
for_each_assoc(as, ck)
|
|
{
|
|
__t(client,"%s -> %s <br/>",as->key, as->value);
|
|
}
|
|
}
|
|
else
|
|
__t(client,"noo cookie");
|
|
}
|
|
else
|
|
__t(client,"no request");
|
|
|
|
}
|
|
void handler(void* client, const char* method, const char* rqpth, dictionary rq)
|
|
{
|
|
if(EQU(rqpth,"default"))
|
|
{
|
|
execute(client,method,rq);
|
|
}
|
|
else if(EQU(rqpth,"get"))
|
|
{
|
|
get(client,method,rq);
|
|
}
|
|
else
|
|
{
|
|
unknow(client);
|
|
}
|
|
} |