Listing Four
/* ReadForm
Reads in GET or POST data, converts plus signs (+) to spaces,
converts %XX encoded characters to unescaped text.
Returns the converted input if there is any, else returns ''.
*/
ReadForm: PROCEDURE
/* Read in text */
IF MethGet() THEN In=GETENV('QUERY_STRING')
ELSE IF MethPost() THEN In=CHARIN(,1,GETENV('CONTENT_LENGTH'))
ELSE RETURN ''
RETURN DeWeb(TRANSLATE(In,' ','+'))
/* MethGet
Return true if this cgi call was using the GET request, false otherwise
*/
MethGet: PROCEDURE
RETURN 'GET'=GETENV('REQUEST_METHOD')
/* MethPost
Return true if this cgi call was using the POST request, false otherwise
*/
MethPost: PROCEDURE
RETURN 'POST'=GETENV('REQUEST_METHOD')