20 CGI Scripts
The net/cgi library expects to be run in a certain context as defined by the CGI standard. This means, for instance, that certain environment variables will be bound.
Unfortunately, not all CGI environments provide this. For instance, the FastCGI library, despite its name, does not bind the environment variables required of the standard. Users of FastCGI will need to bind REQUEST_METHOD and possibly also QUERY_STRING to successfully employ the CGI library. The FastCGI library ought to provide a way to extract the values bound to these variables; the user can then put these into the CGI program’s environment using the putenv function.
A CGI binding is an association of a form item with its value. Some form items, such as checkboxes, may correspond to multiple bindings. A binding is a tag-string pair, where a tag is a symbol or a string.
20.1 CGI Functions
procedure
→ (listof (cons/c (or/c symbol? string?) string?))
procedure
→ (listof (cons/c (or/c symbol? string?) string?))
procedure
→ (listof (cons/c (or/c symbol? string?) string?))
These functions respect current-alist-separator-mode.
procedure
(extract-bindings key? bindings) → (listof string?)
key? : (or/c symbol? string?) bindings : (listof (cons/c (or/c symbol? string?) string?))
procedure
(extract-binding/single key? bindings) → string?
key? : (or/c symbol? string?) bindings : (listof (cons/c (or/c symbol? string?) string?))
procedure
procedure
(generate-html-output title body [ text-color bg-color link-color vlink-color alink-color]) → void? title : string? body : (listof string?) text-color : string? = "#000000" bg-color : string? = "#ffffff" link-color : string? = "#cc2200" vlink-color : string? = "#882200" alink-color : string? = "#444444"
The last five arguments are each strings representing a HTML color; in order, they represent the color of the text, the background, un-visited links, visited links, and a link being selected.
procedure
(string->html str) → string?
str : string?
procedure
(generate-link-text str html-str) → string?
str : string? html-str : string?
procedure
(generate-error-output strs) → any
strs : (listof string?)
procedure
(get-cgi-method) → (or/c "GET" "POST")
procedure
(bindings-as-html listof) → (listof string?)
listof : (cons/c (or/c symbol? string?) string?)
20.2 CGI Unit
cgi@ and cgi^ are deprecated. They exist for backward-compatibility and will likely be removed in the future. New code should use the net/cgi module.
(require net/cgi-unit) | package: compatibility-lib |
20.3 CGI Signature
(require net/cgi-sig) | package: compatibility-lib |
signature
cgi^ : signature
Includes everything exported by the net/cgi module.