File:  [ELWIX - Embedded LightWeight unIX -] / libaitwww / example / test.c
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Wed Aug 1 00:40:40 2012 UTC (11 years, 10 months ago) by misho
Branches: MAIN
CVS tags: www3_0, www2_1, www1_4, WWW2_1, WWW2_0, WWW1_3, HEAD
version 1.3

    1: #include <stdio.h>
    2: #include <stdlib.h>
    3: #include <aitwww.h>
    4: 
    5: 
    6: static int
    7: showPair(struct tagCGI *c, void *arg)
    8: {
    9: 	if (arg)
   10: 		printf("ARG=%s ... ", arg);
   11: 
   12: 	printf("next=%p ... ", c->cgi_node.sle_next);
   13: 	printf("name=%s value=%s\n", AIT_GET_STR(c->cgi_name), AIT_GET_STR(c->cgi_value));
   14: 	return 0;
   15: }
   16: 
   17: 
   18: int
   19: main(int argc, char **argv)
   20: {
   21: 	int ret;
   22: 	cgi_t *cgi, *cgi1;
   23: 
   24: 	if (argc < 2) {
   25: 		/* GET test */
   26: 		putenv("QUERY_STRING=test1=abra+kadabra&testche=piuk%20mdaa");
   27: 		putenv("CONENT_LENGTH=390");
   28: 		putenv("REQUEST_METHOD=GET");
   29: 		cgi = www_initCGI();
   30: 		if (!cgi) {
   31: 			printf("Error:: #%d - %s\n", www_GetErrno(), www_GetError());
   32: 			return 1;
   33: 		}
   34: 
   35: 		printf("%s\n%s\n", www_getValue(cgi, "testche"), www_getValue(cgi, "test1"));
   36: 
   37: 		cgi1 = www_parseQuery("blahA=this%20is+a%20string&blahB=this is another string");
   38: 		if (!cgi1) {
   39: 			printf("Error:: #%d - %s\n", www_GetErrno(), www_GetError());
   40: 			www_closeCGI(&cgi);
   41: 			return 2;
   42: 		}
   43: 		printf("\n%s\n%s\n", www_getValue(cgi1, "blahA"), www_getValue(cgi1, "blahB"));
   44: 
   45: 		printf("cgi num pairs=%d\n", www_listPairs(cgi, showPair, ".oOo."));
   46: 
   47: 		www_closeCGI(&cgi);
   48: 
   49: 		www_addValue(cgi1, "oho", "boho");
   50: 		printf("\n%s\n", www_getValue(cgi1, "oho"));
   51: 		www_delPair(cgi1, "oho");
   52: 		printf("\n%s\n", www_getValue(cgi1, "oho"));
   53: 		www_delPair(cgi1, "oho");
   54: 
   55: 		printf("cgi1 num pairs=%d\n", www_listPairs(cgi1, showPair, NULL));
   56: 
   57: 		www_closeCGI(&cgi1);
   58: 	} else {
   59: 		/* POST test */
   60: 		putenv("REQUEST_METHOD=POST");
   61: 		putenv("CONTENT_LENGTH=1000");
   62: 		if (!strcmp(argv[1], "multi"))
   63: 			putenv("CONTENT_TYPE=multipart/form-data; boundary=012345678909876543210");
   64: 		else
   65: 			putenv("CONTENT_TYPE=application/x-www-form-urlencoded");
   66: 
   67: 		cgi = www_initCGI();
   68: 		if (!cgi) {
   69: 			printf("Error:: #%d - %s\n", www_GetErrno(), www_GetError());
   70: 			return 1;
   71: 		}
   72: 
   73: 		printf("blah=%s\n", www_getValue(cgi, "blah"));
   74: 
   75: 		printf("num pairs=%d\n", www_listPairs(cgi, showPair, argv[1]));
   76: 
   77: 		www_closeCGI(&cgi);
   78: 	}
   79: 	return 0;
   80: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>