Made connection an abstract base class from which individual drivers
deriver their specific connection classes (like it was intended in the
first place). Added generic functions to get the address and hostname
of the client.
Added response-initargs and entity-initargs fields to the clash-error
conditions, so that signallers can return additional information to
the client regarding errors.
all versions of CMUCL that don't provide multi-processing support,
like on all non-x86 platforms. Tested on an UltraSparc running
Solaris 2.7 (hawk) and a mid-1999 version of CMUCL 18b+.
handling, in the face of the much saner RFC 2396. This implementation
provides all major capabilities, including low-consing operation,
representation of relative and absolute URIs, useful merging and
read-write consistency of URIs. Some clean-up work is still needed to
purge the implementation from all references to URLs, to support the
handling of all URIs. Other minor cleanups and additions are still
needed, but after that the handling of URIs should be nearly as robust
as the handling of pathnames in CL.
account the server we are servicing, so that each server only sees
and creates request/response classes he knows he can handle. This
also makes it possible to add request/response classes in a running
system, and to run servers of different versions side-by-side in an
image without affecting each other...
nearly all concepts and simple implementations thereof needed to get a
simple HTTP/0.9 "compliant" server working (there are some hacks
needed that we don't yet provide, since the correct things will be
added shortly, like complete HTTP/1.1 request parsing. The hacks
needed are provided as part of the basic HTTP/0.9 server demo in
src/test/basic-demo.cl).
Further work is needed to clean up some things, Entity and Resource
handling needs to be implemented right and less "naive" (the current
implementations are just simple place-holders to get things up and
running). Connections need to have knowledge of client identity
(passed from the driver, this is implementation-specific stuff).
Logging needs to be implemented (probably as server mixins).
Condition handling needs to generate better responses for HTTP/0.9,
and the division between condition handling and normal handling needs
to be documented/rethought. Content generation is totally missing
currently and needs to be implemented. If this is all in place, an
HTTP/1.0 conforming server should be possible, and after porting the
drivers to ACL and LW, we can make a first release.