xref: /aosp_15_r20/external/libcups/cgi-bin/testcgi.c (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
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 Worker main(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