1*5e7646d2SAndroid Build Coastguard Worker /* 2*5e7646d2SAndroid Build Coastguard Worker * CGI test program for CUPS. 3*5e7646d2SAndroid Build Coastguard Worker * 4*5e7646d2SAndroid Build Coastguard Worker * Copyright 2007-2014 by Apple Inc. 5*5e7646d2SAndroid Build Coastguard Worker * Copyright 1997-2005 by Easy Software Products. 6*5e7646d2SAndroid Build Coastguard Worker * 7*5e7646d2SAndroid Build Coastguard Worker * Licensed under Apache License v2.0. See the file "LICENSE" for more information. 8*5e7646d2SAndroid Build Coastguard Worker */ 9*5e7646d2SAndroid Build Coastguard Worker 10*5e7646d2SAndroid Build Coastguard Worker /* 11*5e7646d2SAndroid Build Coastguard Worker * Include necessary headers... 12*5e7646d2SAndroid Build Coastguard Worker */ 13*5e7646d2SAndroid Build Coastguard Worker 14*5e7646d2SAndroid Build Coastguard Worker #include "cgi.h" 15*5e7646d2SAndroid Build Coastguard Worker 16*5e7646d2SAndroid Build Coastguard Worker 17*5e7646d2SAndroid Build Coastguard Worker /* 18*5e7646d2SAndroid Build Coastguard Worker * 'main()' - Test the CGI code. 19*5e7646d2SAndroid Build Coastguard Worker */ 20*5e7646d2SAndroid Build Coastguard Worker 21*5e7646d2SAndroid Build Coastguard Worker int /* O - Exit status */ main(void)22*5e7646d2SAndroid Build Coastguard Workermain(void) 23*5e7646d2SAndroid Build Coastguard Worker { 24*5e7646d2SAndroid Build Coastguard Worker /* 25*5e7646d2SAndroid Build Coastguard Worker * Test file upload/multi-part submissions... 26*5e7646d2SAndroid Build Coastguard Worker */ 27*5e7646d2SAndroid Build Coastguard Worker 28*5e7646d2SAndroid Build Coastguard Worker freopen("multipart.dat", "rb", stdin); 29*5e7646d2SAndroid Build Coastguard Worker 30*5e7646d2SAndroid Build Coastguard Worker putenv("CONTENT_TYPE=multipart/form-data; " 31*5e7646d2SAndroid Build Coastguard Worker "boundary=---------------------------1977426492562745908748943111"); 32*5e7646d2SAndroid Build Coastguard Worker putenv("REQUEST_METHOD=POST"); 33*5e7646d2SAndroid Build Coastguard Worker 34*5e7646d2SAndroid Build Coastguard Worker printf("cgiInitialize: "); 35*5e7646d2SAndroid Build Coastguard Worker if (cgiInitialize()) 36*5e7646d2SAndroid Build Coastguard Worker { 37*5e7646d2SAndroid Build Coastguard Worker const cgi_file_t *file; /* Upload file */ 38*5e7646d2SAndroid Build Coastguard Worker 39*5e7646d2SAndroid Build Coastguard Worker if ((file = cgiGetFile()) != NULL) 40*5e7646d2SAndroid Build Coastguard Worker { 41*5e7646d2SAndroid Build Coastguard Worker puts("PASS"); 42*5e7646d2SAndroid Build Coastguard Worker printf(" tempfile=\"%s\"\n", file->tempfile); 43*5e7646d2SAndroid Build Coastguard Worker printf(" name=\"%s\"\n", file->name); 44*5e7646d2SAndroid Build Coastguard Worker printf(" filename=\"%s\"\n", file->filename); 45*5e7646d2SAndroid Build Coastguard Worker printf(" mimetype=\"%s\"\n", file->mimetype); 46*5e7646d2SAndroid Build Coastguard Worker } 47*5e7646d2SAndroid Build Coastguard Worker else 48*5e7646d2SAndroid Build Coastguard Worker puts("FAIL (no file!)"); 49*5e7646d2SAndroid Build Coastguard Worker } 50*5e7646d2SAndroid Build Coastguard Worker else 51*5e7646d2SAndroid Build Coastguard Worker puts("FAIL (init)"); 52*5e7646d2SAndroid Build Coastguard Worker 53*5e7646d2SAndroid Build Coastguard Worker /* 54*5e7646d2SAndroid Build Coastguard Worker * Return with no errors... 55*5e7646d2SAndroid Build Coastguard Worker */ 56*5e7646d2SAndroid Build Coastguard Worker 57*5e7646d2SAndroid Build Coastguard Worker return (0); 58*5e7646d2SAndroid Build Coastguard Worker } 59