Each time an inbound HTTP request is received by the Shadow OS/390 Web Server
subsystem, the system parses the HTTP request header to determine which event procedure to
run. During the parse operation, various data items are extracted from the inbound HTTP
request, along with other environmental data elements, which are made available to WWW
rule transaction procedures. Transaction procedures can use these values in composing an
HTML response.
Shadow/REXX procedures can access these run-time values, by name, using the variable
names given in the table below. The variables are automatically set up in the
REXX-language environment before a Shadow/REXX procedure is executed.
User-written programs or REXX procedures executed by other (not Shadow/REXX)
interpreters must use an API interface call to retrieve the value of these run-time
variables.
You can see a demonstration of how a Shadow/REXX procedure is invoked and can make use
of these run-time variables by accessing the sample procedure /neon/demo01.
Variable Name |
Contents |
PHASE |
Contents: Contains a four-byte character constant which indicates the
processing phase for which the current event procedure was invoked. Possible
values are:
- "INIT". The procedure is either enabled during subsystem start-up or in
response to a user enable request.
- "PROC". The procedure is run after being matched to an inbound HTTP
transaction request.
- "TERM". The procedure is either disabled during subsystem shut-down, or
in response to a user disable request.
During procedure enablement and disablement, the only other variable that is
instantiated is WWW.USER. The remaining variables are only instantiated during
"PROC" phase processing.
Note: REXX procedures normally run only during the PROC phase, unless explicitly
requested.
Data Type: Character, Read-only |
WWW.ABENDCODE |
Contents: The decimal value of the last encountered abend code. The value can
be converted to displayable hexadecimal using the D2X built-in REXX function. The value is
zero, if no abend has occurred during processing. Data Type: Integer, Read-only |
WWW.ABENDREASON |
Contents: The decimal value of the last encountered abend reason code. The
value can be converted to displayable hexadecimal using the D2X built-in REXX function.
The value is zero, if no abend has occurred during processing. Data Type:
Integer, Read-only |
WWW.ACCEPT_CHARSET |
Contents: The value of the Accept-charset: HTTP request header token. If the
Accept-charset: request header is not present in the inbound HTTP request, this variable
is seto to a NULL value. Data Type: Character, Read-Only |
WWW.ACCEPT_ENCODING |
Contents: The value of the Accept-encoding: HTTP request header token. If the
Accept-encoding: request header is not present in the inbound HTTP request, this variable
is seto to a NULL value. Data Type: Character, Read-Only |
WWW.ACCEPT_LANGUAGE |
Contents: The value of the Accept-language: HTTP request header token. If the
Accept-language: request header is not present in the inbound HTTP request, this variable
is set to a NULL value. Data Type: Character, Read-Only |
WWW.ACCEPT.0 |
Contents: Contains the number of Accept: HTTP request headers found within the
inbound HTTP request. If none were found, the value of this variable is zero. Data
Type: Integer, Read-Only |
WWW.ACCEPT.n |
Contents: Variables WWW.ACCEPT.1 through WWW.ACCEPT.n (where n is
equal to the value of the variable WWW.ACCEPT.0) contain each of the tokens set for the
Accept: HTTP request headers found in the inbound HTTP transaction. If no Accept: headers
were present in the inbound message, then WWW.ACCEPT.0 will be set to zero, and the
remaining WWW.ACCEPT.n variables will not be instantiated. Data Type: Character,
Read-Only |
WWW.AUTH |
Contents: Set to a character value indicating the authorization level of the
current event procedure. Possible values are:
- "NONE". No authorization data is sent with the inbound HTTP transaction
request. The current transaction runs under the authorization of the Web Server subsystem
or an overriding RUNAUTH userid value.
- "SENT". The authorization data is sent with the inbound HTTP
transaction request; however, it has not been used to perform Userid/Password validation.
(In order to conserve CPU resources, Userid validation is only performed when required by
the security attributes of the transaction. Because Userid validation was not required by
the current transaction, the authorization data sent by the Web client was not processed.)
The current transaction runs under the authorization of the Web Server subsystem or an
overriding RUNAUTH userid value.
- "NO". Authorization data is contained within the inbound HTTP
transaction request; however, the Userid or password value was invalid and could not be
used to log on to the system. The current transaction runs under the authorization of the
Web Server subsystem or an overriding RUNAUTH userid value.
- "YES". The inbound HTTP transaction contains a valid userid and
password that was used to log on to the system. The current transaction is running under
the authorization of the Web Server subsystem, an overriding RUNAUTH userid value, or the
authorization of the end user.
Data Type: Character, Read-Only |
WWW.AUTHDATA |
Contents: Contains the value of the undecoded authentication information sent
by inbound HTTP Authorization: request header. If no such request header was present, this
variable contains a NULL string. Data Type: Character, Read-Only |
WWW.AUTHMETHOD |
Contents: Contains the value of the authorization method specified in the
inbound HTTP Authorization: request header. If no such request header was present, this
variable contains a NULL string. At present, the only allowable value for this variable is
the string "Basic". Data Type: Character, Read-Only |
WWW.AUTHMSG |
Contents: Contains a string value containing the message issued by the security
subsystem when the inbound userid and password were used to process a logon request. Data
Type: Character, Read-Only |
WWW.AUTHORIZATION |
Contents: Contains the decoded value of the Authorization: userid and password
contained within the inbound HTTP request. If no Authorization: request header was
present, this variable contains a NULL string. The password within the decoded
authorization string has been overlaid with X's. Data Type: Character, Read-Only
|
WWW.AUXCOMPONENT |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains the name of the external component. It is set to the string 'DB2' when
exceptional conditions are noted during DB2 open processing or when processing an EXECSQL
process section.
Data Type: Character, Read-Only |
WWW.AUXRC |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains the return code set by the external component.
Data Type: Integer, Read-Only |
WWW.AUXREASON |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains the reason code set by the external component.
Data Type: Integer, Read-Only |
WWW.AUXABEND |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains the abend code set by the external component.
Data Type: Integer, Read-Only |
WWW.AUXOTHER |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains any other code set by the external component.
Data Type: Integer, Read-Only |
WWW.AUXMSG |
Contents: Invokes external MVS subsystems for some Web Server processes. If an
exceptional condition occurs, the WWW.AUXxxxx variables are set to reflect the error. This
variable contains text information describing the exceptional condition.
Data Type: Character, Read-Only |
WWW.COOKIE |
Contents: Contains the value specified for the Cookie: HTTP request header, if
present, or a NULL string. See the Netscape Documentation at Persistent Client State HTTP
Cookies for more information. Data Type: Character, Read-Only |
WWW.COOKIE.xxxxx |
Contents: Contains the value of the name/value pair, xxxxx, contained
within the Cookie: HTTP request header. See the Netscape Documentation at Persistent Client State HTTP
Cookies for more information. Data Type: Character, Read-Only |
WWW.CONTENT_LENGTH |
Contents: Contains the value specified for the Content-length: HTTP request
header, if present, or a NULL string. Data Type: Integer, Read-Only |
WWW.CONTENT_TYPE |
Contents: Contains the value specified for the Content-type: HTTP request
header, if present, or a NULL string. Data Type: Character, Read-Only |
WWW.CURRENTURL |
Contents: The current value of the URL being used to
perform matching to Web event procedures. This is normally set to the value specified in
the input HTTP transaction request, unless an intervening procedure or subsystem, has
altered the match value. The subsystem alters match values when certain errors are
encountered to re-direct processing to one of the built-in SYSTEM/ERROR/nnn procedures.
User procedures may alter the match URL value by issuing "RETURN RESCAN xxxx"
from an event procedure.
Data Type: Character, Read-Only |
WWW.DATE |
Contents: Contains the value specified for the Date: HTTP request header, if
present, or a NULL string. Data Type: Character, Read-Only |
WWW.EFFECTIVEUSERID |
Contents: Contains the MVS userid under whose authority the Web
transaction is currently executing. The value returned when this variable is interrogated
reflects the subtask-level security authorization controls (the ACEE control block userid)
established immediately before the current transaction procedure was given control. The
userid returned can be the default Web transaction RUNAUTH userid, a client userid, or a
third-party proxy userid, depending on the security controls in place when this /*WWW rule
began execution. Data Type: Character, Read-Only
Special Note: When /*ATH rules are executed on behalf of web transaction
procedures, WWW. variables are normally made available to the /*ATH rule for inspection.
However, WWW.EFFECTIVEUSERID is set to NULL whenever an /*ATH LOGON or LOGOFF procedure is
being executed. |
WWW.ERRORCODE |
Contents: Contains the value of the transaction error code field. The field may
be set by the subsystem in response to various transaction-related error events. Data
Type: Integer, Read-Only |
WWW.FIELD.0 |
Contents: Contains the number of field name/value pairs present within the
input HTTP transaction. This value is set to zero, if no name/value pairs were present. Data
Type: Integer, Read-Only |
WWW.FIELD.n.NAME |
Contents: Contains the name of the nth field name/value present within the
input HTTP transaction. The value of n ranges from 1 to the value set for
WWW.FIELD.0. Data Type: Character, Read-Only |
WWW.FIELD.n.VALUE |
Contents: Contains the value of the nth field name/value present within the
input HTTP transaction. The value of n ranges from 1 to the value set for
WWW.FIELD.0. If no value was present for the Nth pair, this variable contains a NULL
string. Data Type: Character, Read-Only |
WWW.FILE.0 |
Contents: Contains the number of files returned
with the POST operation request. Data Type: Integer, Read-Only
If the value is not zero, the following six variables will also be defined:
- WWW.FILE.N.FILENAME
- Contents: Contains the name of the file (in mixed case) as it existed
on the remote system.
- Data Type: Character, Read-Only
-
- WWW.FILE.N.NAME
- Contents: Contains the name of the field that requested this file as
expressed in the HTML for this page.
- Data Type: Character, Read-Only
-
- WWW.FILE.N.HTTP_CONTENT_LENGTH
- Contents: Contains the operand of the Content-lenth: header associated
with this file.
Data Type: Character, Read-Only
-
- WWW.FILE.N.HTTP_CONTENT_TYPE
- Contents: Contains the operand of the Content-type: header associated
with this file.
Data Type: Character, Read-Only
-
- WWW.FILE.N.FLAGS
- Contents: Flags defining things about this file. Currently, the only
flag defined is the low-order bit. 0 = no translations will take place. 1 = data will be
translated fro ASCII to EBCDIC before presented to the user.
- Data Type: Integer, Read-Only
-
- WWW.FILE.N.TOEBCDIC
- Contents: The four character name of the translation table to be used.
Data Type: Character, Read-Only
|
WWW.FORWARDED |
Contents: Contains the value specified for the Forwarded: HTTP request header,
if present, or a NULL string. Data Type: Character, Read-Only |
WWW.FROM |
Contents: Contains the value specified for the From: HTTP request header, if
present, or a NULL string. Data Type: Character, Read-Only |
WWW.IF_MODIFIED_SINCE |
Contents: Contains the value specified for the If-modified-since: HTTP request
header, if present, or a NULL string. Data Type: Character, Read-Only |
WWW.INPUTURL |
Contents: Contains the original inbound HTTP request URL value. Data
Type: Character, Read-Only |
WWW.LINE.0 |
Contents: Contains the number of individual lines within the inbound HTTP
request header. Each line is delimited by a CRLF combination. Data Type:
Integer, Read-Only |
WWW.LINE.n |
Contents: Contains the contents of the Nth line of the inbound HTTP request
header. Each line is delimited by a CRLF combination. The line data does not contain the
delimiting CRLF. The number of WWW.LINE.n variables is given by WWW.LINE.0. Data
Type: Character, Read-Only |
WWW.MATCHVALUE |
Contents: Contains the criterion value of the current WWW event procedure to
which the inbound URL has been matched. Data Type: Character, Read-Only |
WWW.MESSAGE_ID |
Contents: Contains the value specified for the Message-id: HTTP request header,
if present, or a NULL string. Data Type: Character, Read-Only |
WWW.METHOD |
Contents: Contains the value specified for the HTTP method specified in the
inbound transaction. The Shadow OS/390 Web Server accepts transactions which specify the
"GET", "POST", and "HEAD" methods. Data Type:
Character, Read-Only |
WWW.MIME_VERSION |
Contents: Contains the value specified for the MIME-version: HTTP request
header, if present, or a NULL string. Data Type: Character, Read-Only |
WWW.PASSWORD |
Contents: Contains a NULL string if no authentication data was
transmitted by the client. Otherwise it points to a string containing the password
supplied as part of the BASIC authentication method. The password string is overlaid with
X's unless the server start-up parameter EXPOSEWWWPASSWORD start-up option is set to YES.
Note that the default value for this start-up option is NO, so the client password is
normally not actually available using this variable. Data Type: Character,
Read-Only |
WWW.PRAGMA |
Contents: Contains the value specified for the Pragma: HTTP request header, if
present, or a NULL string. Data Type: Character, Read-Only |
WWW.PROTOCOL |
Contents: Contains the value HTTP version value which was present within the
inbound HTTP request header. Data Type: Character, Read-Only |
WWW.QUERY |
Contents: Contains the value of any encoded query data which was present within
the inbound HTTP request header. Data Type: Character, Read-Only |
WWW.REFERER |
Contents: Contains the value specified for the Referer: HTTP request header, if
present, or a NULL string. Data Type: Character, Read-Only |
WWW.SSL |
Contents: Set to upper-case "Y" if an SSL connection is in use
between the Server and client. Set to upper-case "N", if an SSL connection is
not in use. Data Type: Character, Read-Only |
WWW.STATUSCODE |
Contents: Contains the value set by a previous procedure, of the subsytem
itself for the HTTP response status code value. If set to zero, the subsystem substitutes
value 200 (request was fulfilled). The only action of this variable is to save the status
code placed into transaction-level SMF records. Data Type: Integer, Read-Write |
WWW.TEXT |
Contents: Contains the entire HTTP request header. Data Type:
Character, Read-Only |
WWW.USER_AGENT |
Contents: Contains the value specified for the User-agent: HTTP request header,
if present, or a NULL string. Data Type: Character, Read-Only |
WWW.USERID |
Contents: Contains the userid, if any, present within the inbound
Authorization: request header. Data Type: Character, Read-Only |
WWW.VAR.xxxxx |
Contents: Contains, for each inbound query variable named xxxxx, the
value input for the variable. If multiple query variables of the same name are input, the
variable will contain the value set only for the last of these. Data Type:
Character, Read-Only |