Introduction
Right now Svnwiki does not run under Spiffy. It would be desirable to modify both so one can use Spiffy instead of Apache to serve a wiki. This is because Spiffy and Svnwiki tend to share some requirements so using Spiffy instead of Apache may keep the environment smaller.
This file has a list of work that would be required to make Spiffy and Svnwiki play well together.
Spiffy
We would need the following from Spiffy:
- Use FILE.extension in response to requests for FILE, where extension depends on the Accept header (described in section 14.1 of RFC 2616). This is done by Apache's Content Negotiation modules.
- Call svnwiki when a request is made to an unexistant file. This is done by Apache's ErrorDocument directive.
- Optional: use FILE.language.extension, when available, where language depends on the Accept-Language HTTP header (section 14.4 of RFC 2616).
Svnwiki
We could have Svnwiki run under CGI.
Otherwise, if we want Svnwiki to be executed in the same address space of Spiffy (which would probably be better, but requires more work), we would need to change Svnwiki to:
- Use Spiffy's interface to obtain values from the query string, posted form contents or cookies.
- Use Spiffy's interface to obtain values that it obtains from environment variables according to the CGI.
- Use Spiffy's interface to register its code as the handler for all accesses inside a certain URL directory (eg. "all accesses to /~mario/svnwiki.spp/* are handled calling this function").
- Use Spiffy's interface for redirections.
- Use Spiffy's interface to produce output. Currently most of Svnwiki's functions/handlers return a stream of characters that include the Content-type header among others and then the contents.
Last update: 2007-03-31 (Rev 10985)