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/6/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
(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)))))))))))(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))
(redirect-to path #!key (code 302) (headers '()))Convenience procedure for sending redirects relative to the current server-root-uri.