diff --git a/scheme/lib/cgi-script.scm b/scheme/lib/cgi-script.scm index 946bb2a..f9ed15c 100644 --- a/scheme/lib/cgi-script.scm +++ b/scheme/lib/cgi-script.scm @@ -12,40 +12,6 @@ ;;; that can interface to HTTP servers using the CGI program interface ;;; to carry out HTTP transactions. -;;; Other files/packages that will be of help: -;;; rfc822 For reading headers from entities. -;;; uri url For parsing and unparsing these things. Also for generally -;;; URI-decoding strings. -;;; htmlout For generating HTML output. - -;;; About HTML forms -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; This info is in fact independent of CGI, but important to know about, -;;; as many CGI scripts are written for responding to forms-entry in -;;; HTML browsers. -;;; -;;; The form's field data are turned into a single string, of the form -;;; name=val&name=val -;;; where the and parts are URI encoded to hide their -;;; &, =, and + chars, among other things. After URI encoding, the -;;; space chars are converted to + chars, just for fun. It is important -;;; to encode the spaces this way, because the perfectly general %xx escape -;;; mechanism might be insufficiently confusing. This variant encoding is -;;; called "form-url encoding." -;;; -;;; If the form's method is POST, -;;; Browser sends the form's field data in the entity block, e.g., -;;; "button=on&ans=yes". The request's Content-type: is application/ -;;; x-www-form-urlencoded, and the request's Content-length: is the -;;; number of bytes in the form data. -;;; -;;; If the form's method is GET, -;;; Browser sends the form's field data in the URL's part. -;;; (So the server will pass to the CGI script as $QUERY_STRING, -;;; and perhaps also on in argv[]). -;;; -;;; In either case, the data is "form-url encoded" (as described above). - ;;; ISINDEX queries: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; (Likewise for ISINDEX URL queries from browsers.) @@ -71,14 +37,6 @@ ;;; for the reply. ;;; See the "spec" for further details. (URL above) - -;;; (cgi-form-query) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Return the form data as an alist of decoded strings. -;;; So a query string like "button=on&reply=Oh,%20yes" becomes alist -;;; (("button" . "on") ("reply" . "Oh, yes")) -;;; This only works for GET and POST methods. - (define (cgi-form-query) (let ((request-method (getenv "REQUEST_METHOD"))) (cond