[araneida: html docs for some utilities Alan-Shields@omrf.ouhsc.edu**20050924003828] { hunk ./doc/index.html 50 +
  • Care and feeding of cookies +
  • Utilities to make working with Araneida more rewarding addfile ./doc/utilities.html hunk ./doc/utilities.html 1 - +Araneida - Utilities + +Araneida - Advanced Utilities + + +

    REPL Utilities

    +

    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*)
    +
    + + +

    Programming Utilities

    +

    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)
    +
    + + + }