Next: Usage Examples, Previous: Handlers, Up: Top [Contents][Index]
Each HTTP requests is represented using a ws-request
object
(see ws-request). The request object serves two purposes, one
internal and one external. Internally, request objects are used to
hold state while HTTP headers are parsed incrementally as the HTTP
request text is received from the network. Externally, request
objects are used to decide which handler to call, and are then passed
as the only argument to the called handler.
In addition to fields used internally, each ws-request
object
holds the network process in the process
and holds all HTTP
headers and request GET or POST parameters in the headers
alist. HTML Headers are keyed using uppercase keywords (e.g.,
:GET
), and user supplied parameters are keyed using the string
name of the parameter.
The process
field may be used by handlers to send data to a
client as in the following example.
(process-send-string (process request) "hello world")
The headers
field may be used to access request information
such as the requested path,
(cdr (assoc :GET (headers request)))
or named parameters as from a web form.
(cdr (assoc "message" (headers request)))