Input parameters are passed to the analyzer program in a COMMAREA,
giving information about the nature and content of the request, and any input
supplied by a URIMAP definition. The analyzer program can choose to accept
these values and pass them on as output parameters, or it can dynamically
override them based on its analysis of the content of the request.
Attention: This topic contains Product-sensitive Programming Interface
and Associated Guidance Information.
Parameters for analyzer programs has
a listing and technical descriptions of all the parameters in the COMMAREA.
The
input parameters include the following items, or a pointer to them:
For HTTP requests received on a connection using SSL client authentication,
the following parameter is also passed:
- The user ID obtained from the client certificate.

If a matching URIMAP definition was found for the
request and has invoked the analyzer program, the following parameters from
the URIMAP definition are passed to the analyzer program, if they were present
in the URIMAP definition:
- The name of the recommended converter program to process the request before
it is passed to an application program (CONVERTER attribute in the URIMAP
definition).
- The name of the recommended user-written application program to process
the request and provide the response (PROGRAM attribute in the URIMAP definition).
- The transaction ID of the recommended alias transaction to cover the remaining
stages of processing (TRANSACTION attribute in the URIMAP definition).
- The recommended user ID that is to be associated with the alias transaction
(USERID attribute in the URIMAP definition). This can be overridden if a user
ID is supplied by the client.
The
wbra_urimap input parameter can be used to test
whether or not a URIMAP definition was used in the processing path for the
request.


Note: If you are using an analyzer program instead
of a URIMAP definition to handle requests, and you need to be compliant with
HTTP/1.1 in this respect, you must code your analyzer program to perform URL
comparison according to the rules stated in the HTTP/1.1 specification. Under
these rules, scheme names and host names are compared case-insensitively,
but paths are compared case-sensitively. All components are unescaped before
comparison. When CICS compares URLs to URIMAP definitions, it follows
these rules.

You can also use the EXEC
CICS WEB API commands to examine the HTTP request, if preferred.
Using the EXEC CICS WEB commands can increase the accuracy
and completeness of your analysis of the request, particularly when examining
the HTTP headers, which are subject to wide variation in content and usage.
The EXEC CICS WEB commands also simplify the process of
locating and extracting query string or formfield information from a request,
which can be a key determinant of subsequent processing.
You can use
the EXTRACT TCPIP command to obtain the following information about the client
request which is being processed:
- The Web client's IP address
- The Web client's host name, as known by the DNS server
- The number of the port on which the Web client sent its connection request
- The server's (that is, CICS as an HTTP server's) IP address
- The type of authentication in use
- The level of SSL support in use
- The TCPIPSERVICE definition
associated with the request