1.00 |
********START OF PGM : ENVVAR **************************************** |
2.00 |
*================================================================ |
3.00 |
* |
4.00 |
* After compiling this module, create the program as follow: |
5.00 |
* |
6.00 |
* CRTPGM PGM(CGICBLDEV2/ENVVAR) MODULE(CGICBLDEV2/ENVVAR) |
7.00 |
* BNDDIR(CGICBLDEV2/CGICBLDEV2) |
8.00 |
* ACTGRP(ENVVAR) AUT(*USE) |
9.00 |
* |
10.00 |
*================================================================ |
11.00 |
PROCESS NOXREF APOST |
12.00 |
ID DIVISION. |
13.00 |
PROGRAM-ID. ENVVAR. |
14.00 |
ENVIRONMENT DIVISION. |
15.00 |
CONFIGURATION SECTION. |
16.00 |
SPECIAL-NAMES. |
17.00 |
copy CPYSPCNAME of CGICBLDEV2-QCBLLESRC. |
18.00 |
INPUT-OUTPUT SECTION. |
19.00 |
FILE-CONTROL. |
20.00 |
*================================================================= |
21.00 |
DATA DIVISION. |
22.00 |
FILE SECTION. |
23.00 |
*================================================================= |
24.00 |
WORKING-STORAGE SECTION. |
25.00 |
*================================================================= |
26.00 |
01 HTML-DATA. |
27.00 |
* Variables to execute a command |
28.00 |
05 rc PIC S9(9) comp-4. |
29.00 |
05 cmd PIC X(2000). |
30.00 |
* Variables to parse the input string |
31.00 |
05 varnamein PIC X(50). |
32.00 |
05 xyrname PIC X(30). |
33.00 |
05 request PIC X(10). |
34.00 |
* Variables to load external HTML |
35.00 |
05 fn PIC X(10) VALUE 'HTMLEXAMPL'. |
36.00 |
05 lib PIC X(10) VALUE 'CGICBLDEV2'. |
37.00 |
05 mbr PIC X(10) VALUE 'ENVVAR'. |
38.00 |
* Variable for QWrtSection procedure |
39.00 |
05 HtmlSects PIC X(1000). |
40.00 |
* Variables for QUpdHtmlVar procedure |
41.00 |
05 varnameout PIC X(30). |
42.00 |
05 varvalout PIC X(1000). |
43.00 |
* Variables for QGetEnv procedure |
44.00 |
05 envVarNam PIC X(100). |
45.00 |
05 envVarVal PIC X(32767). |
46.00 |
*================================================================= |
47.00 |
* M A I N - L I N E |
48.00 |
*================================================================= |
49.00 |
PROCEDURE DIVISION. |
50.00 |
A-start-pgm. |
51.00 |
* Load the external HTML |
52.00 |
perform LoadHtml thru z-LoadHtml. |
53.00 |
* Retrieve all environment variables and display them |
54.00 |
move 'AUTH_TYPE' to envVarNam. |
55.00 |
perform DspEnvVar thru z-DspEnvVar. |
56.00 |
move 'CGI_ASCII_CCSID' to envVarNam. |
57.00 |
perform DspEnvVar thru z-DspEnvVar. |
58.00 |
move 'CGI_MODE' to envVarNam. |
59.00 |
perform DspEnvVar thru z-DspEnvVar. |
60.00 |
move 'CGI_EBCDIC_CCSID' to envVarNam. |
61.00 |
perform DspEnvVar thru z-DspEnvVar. |
62.00 |
move 'CONTENT_LENGTH' to envVarNam. |
63.00 |
perform DspEnvVar thru z-DspEnvVar. |
64.00 |
move 'CONTENT_TYPE' to envVarNam. |
65.00 |
perform DspEnvVar thru z-DspEnvVar. |
66.00 |
move 'GATEWAY_INTERFACE' to envVarNam. |
67.00 |
perform DspEnvVar thru z-DspEnvVar. |
68.00 |
move 'HTTP_ACCEPT' to envVarNam. |
69.00 |
perform DspEnvVar thru z-DspEnvVar. |
70.00 |
move 'HTTP_COOKIE' to envVarNam. |
71.00 |
perform DspEnvVar thru z-DspEnvVar. |
72.00 |
move 'HTTP_REFERER' to envVarNam. |
73.00 |
perform DspEnvVar thru z-DspEnvVar. |
74.00 |
move 'HTTP_USER_AGENT' to envVarNam. |
75.00 |
perform DspEnvVar thru z-DspEnvVar. |
76.00 |
move 'IBM_CCSID_VALUE' to envVarNam. |
77.00 |
perform DspEnvVar thru z-DspEnvVar. |
78.00 |
move 'PATH_INFO' to envVarNam. |
79.00 |
perform DspEnvVar thru z-DspEnvVar. |
80.00 |
move 'PATH_TRANSLATED' to envVarNam. |
81.00 |
perform DspEnvVar thru z-DspEnvVar. |
82.00 |
move 'QUERY_STRING' to envVarNam. |
83.00 |
perform DspEnvVar thru z-DspEnvVar. |
84.00 |
move 'REMOTE_ADDR' to envVarNam. |
85.00 |
perform DspEnvVar thru z-DspEnvVar. |
86.00 |
move 'REMOTE_HOST' to envVarNam. |
87.00 |
perform DspEnvVar thru z-DspEnvVar. |
88.00 |
move 'REMOTE_IDENT' to envVarNam. |
89.00 |
perform DspEnvVar thru z-DspEnvVar. |
90.00 |
move 'REQUEST_METHOD' to envVarNam. |
91.00 |
perform DspEnvVar thru z-DspEnvVar. |
92.00 |
move 'REMOTE_USER' to envVarNam. |
93.00 |
perform DspEnvVar thru z-DspEnvVar. |
94.00 |
move 'SCRIPT_NAME' to envVarNam. |
95.00 |
perform DspEnvVar thru z-DspEnvVar. |
96.00 |
move 'SERVER_NAME' to envVarNam. |
97.00 |
perform DspEnvVar thru z-DspEnvVar. |
98.00 |
move 'SERVER_PORT' to envVarNam. |
99.00 |
perform DspEnvVar thru z-DspEnvVar. |
100.00 |
move 'SERVER_PROTOCOL' to envVarNam. |
101.00 |
perform DspEnvVar thru z-DspEnvVar. |
102.00 |
move 'SERVER_SOFTWARE' to envVarNam. |
103.00 |
perform DspEnvVar thru z-DspEnvVar. |
104.00 |
* Write section "all" and send the HTML buffer |
105.00 |
move 'all *fini' to HtmlSects |
106.00 |
call 'QWRTSECTION' using HtmlSects. |
107.00 |
*---------------------------------- |
108.00 |
B-end-pgm. |
109.00 |
exit program and continue run unit. |
110.00 |
*================================================================= |
111.00 |
LoadHtml. |
112.00 |
* Load the external HTML |
113.00 |
call 'QGETHTML' using fn lib mbr. |
114.00 |
*---------------------------------- |
115.00 |
z-LoadHtml. |
116.00 |
EXIT. |
117.00 |
*================================================================= |
118.00 |
*Retrieve an display an environment variable |
119.00 |
DspEnvVar. |
120.00 |
call 'QGETENV' using envVarNam |
121.00 |
returning into envVarVal. |
122.00 |
move envVarNam to varnameout. |
123.00 |
if envVarVal = ' ' |
124.00 |
move 'Not available' to envVarVal |
125.00 |
end-if. |
126.00 |
move envVarVal to varvalout. |
127.00 |
call 'QUPDHTMLVAR' using varnameout varvalout. |
128.00 |
*---------------------------------- |
129.00 |
z-DspEnvVar. |
130.00 |
EXIT. |
131.00 |
********* END OF PGM : ENVVAR **************************************** |