[araneida: html docs for some utilities Alan-Shields@omrf.ouhsc.edu**20050924003828] { hunk ./doc/index.html 50 +
While you're working with an Araneida system, sometimes you find yourself +wondering "what handlers do I have, and where are they attached?". Well, I find +myself wondering that on a regular basis. + +
So I wrote SHOW-HANDLER-HIERARCHY and SHOW-LISTENER-HANDLERS. + +
Given a handler, SHOW-HANDLER-HIERARCHY will print out what handlers are below it. +If a handler is an inexact matcher, an asterisk will be appended to the end of its name. + +
Given a listener, SHOW-LISTENER-HANDLERS will do the same as above. + + +
+(show-listener-handlers *listener*) ++ + +
If you wish to declaratively define the handlers for URLs in Araneida (and you don't mind +them all being inexact matchers), ATTACH-HIERARCHY is the macro for you. + +
The documentation is contained in convenience.lisp. It's quite easy, once you get used to it. + +
here is a small example, though: + +
+(attach-hierarchy (http-listener-handler *listener*) (parse-urlstring "http://example.com/") + ("/puppies-and-kittens" puppy-and-kitten-handler) + ("/lizards-and-fish" lizard-and-fish-simulator) + ("/orderform" order-form-dispatching-handler + ("/order-a-whole-bunch-of-croppy" das-megacroppy-handler) + ("/order-a-cute-kitten" kitten-feed-handler))) ++ +
Documentation is through the docstring, so you can also view it via: +
+(documentation 'araneida:attach-hierarchy 'function) ++ + + }