CGIUTL

Updated September 2014; see History

xcall CGIUTL, opcode {,param1, param2 ...}

CGIUTL.SBR contains several utility functions which are very handy when writing CGI programs. The calling format and parameters beyond opcode depend on the value of opcode, so we will consider each case separately, with the value of OPCODE inserted into the syntax examples below. Opcode itself can be any numeric format. See A-Shell as a CGI Engine for more details on using CGIUTL.SBR.  

Beginning with A-Shell 6.1.1390 of September 2014, A-Shell provides support for FastCGI.

Opcode

Value

Function

CGIOP_STATUS

0

CGI Status

CGIOP_STDIN

1

Retrieve stdin

CGIOP_GETPAR

2

Retrieve single parameter

CGIOP_MRGOUT

3

Copy disk file to stdout

CGIOP_STDOUT

4

Write string to stdout

CGIOP_GETENV

5

Retrieve envvar into envdef

CGIOP_MRGFIL

6

Generate custom file from template

CGIOP_GETPARX

7

Retrieve multiple parameters

CGIOP_UNESCAPE

9

Convert HTML Escapes

CGIOP_GETREQ

10

Support FastCGI

CGIOP_GETPARARY

12

Retrieve params into associative array

Definition file: ashell.def

 

History

2018 February, A-Shell 6.5.1628:  Remove limit on number of subroutine parameters.

2014 September, A-Shell 6.1.1394:  Add opcode CGIOP_GETPARARY.

2014 September, A-Shell 6.1.1390:  Add support for FastCGI and opcodes CGIOP_UNESCAPE and CGIOP_GETREQ.

2009 March, A-Shell 5.1.1140:  The 16K limit on the size of a single expanded line of the template HTML file (using opcode 3 or 6) has been lifted. (It may take some ingenuity to create such long lines, but apparently some A-Shell developers are up to the challenge.) The only limits which remain are that 32K for the length of a template line prior to variable substitution and 256 total substitution variables (which may be distributed over 96 subroutine parameters). Also, increase the default maximum size of the parameter buffer passed by the web server to A-Shell from 4K to 16K (applies only in the case where the web server does not support the CGI standard by defining the CONTENT_LENGTH environment variable; IIS seems to fall into this category.)

2007 September, A-Shell 4.9.995:  The previous limit of 1024 on the size of an individual line after variable expansion has been increased to 16K. This is mainly a factor when individual data fields (substitution values) are quite large, since otherwise you could avoid the limit by keeping the input template lines short.