spiffy-uri-match
Description
A library providing integration of uri-match for spiffy.
Author
Moritz Heidkamp
Repository
This egg is hosted on the CHICKEN Subversion repository:
https://anonymous@code.call-cc.org/svn/chicken-eggs/release/5/spiffy-uri-match
If you want to check out the source code repository of this egg and you are not familiar with Subversion, see this page.
Requirements
Requires the uri-match, spiffy, uri-common and intarweb extensions.
Documentation
[procedure] (uri-match/spiffy routes)Returns a procedure suitable for use as a spiffy handler. It will match against the HTTP method and URI of the current-request parameter. The routes argument is passed directly to make-uri-matcher of uri-match and thus must be in the format described there. If a route matches, its handler is called with current-response modified to include the headers given in the default-response-headers parameter. If no route matches, the handler will call the continue procedure passed by spiffy.
uri-match/spiffy integrates with spiffy via the vhost-map hooks.
(vhost-map `((".*" . ,(lambda (continue) (continue))))) (vhost-map `((".*" . ,(lambda (c) (send-status 200 "TEST"))))) (vhost-map `((".*" . ,(uri-match/spiffy `(((/ "") (GET ,(lambda (c) (c))))))))) (vhost-map `((".*" . ,(uri-match/spiffy `(((/ "") (GET ,(lambda (c) (send-status 200 "TEST"))))))))) (vhost-map `((".*" . ,(uri-match/spiffy `(((/ "") (GET ,(lambda (c) (send-response status: 'ok body: "Hello World!" headers: '((content-type text/html)))))))))))[parameter] (default-response-headers [headers])
A list of headers to be used for all requests handled by handlers created through uri-match/spiffy. Defaults to
'((content-type #(text/html ((charset . "utf-8")))) (accept-charset utf-8))[procedure] (redirect-to path #!key (code 302) (headers '()))
Convenience procedure for sending redirects relative to the current server-root-uri.