Changeset 15379 in project


Ignore:
Timestamp:
08/09/09 17:51:00 (10 years ago)
Author:
certainty
Message:

Changes applied for certainty (82.82.131.238) through svnwiki:

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/uri-dispatch

    r15378 r15379  
    2222('''Note''' Although not explicitly stated here the algorithm performs a whitelist-check on any procedure before it is invoked. See '''enable-checks''' and '''whitelist!''')
    2323
    24 *  The path is empty. It checks if '''default-dispatch-target''' is non-false.
    25    If it is, then it is invoked. If it is not '''dispatch-error''' is invoked.
     24* The path is empty. It checks if '''default-dispatch-target''' is bound to a procedure.
     25   If it is, then it is invoked. If it is not, then '''dispatch-error''' is invoked.
    2626
    27 * The path has exactly one element. It assumes that this is this element is the name
    28    of a thunk that was defined outside a module. If the such a thunk exists it is invoked.
    29    If no such a thunk exists it invokes '''dispatch-error'''.
     27* The path has exactly one element. It assumes that this element is the name
     28   of a thunk that was defined outside a module. If such a thunk exists it is invoked.
     29   If no such a thunk exists '''dispatch-error'''.is invoked.
    3030
    3131* The path contains at least two elements.
     
    3535** If it does not exist, it interpretes the first element as the name of a procedure that was defined
    3636  outside any module. If such a procedure exists, it is invoked passing the rest of the elements as arguments.
    37   If no such procedure exists '''dispatch-error''' is invoked with the full path as argument. The path is applied
     37  If no such procedure exists '''dispatch-error''' is invoked with the full path as arguments. The path is applied
    3838  to the procedure so you can use for example dsssl-style lambdalists to declare optional arguments or a rest-argument.
    3939
     
    4242Though nice for development it is not advisable to allow anybody out there to invoke abritary procedures of your application.
    4343So you might want to '''enable-checks''' in production and whitelist only those modules and/or procedures you really want
    44 to be callable from the outside. Whitelisting can be done with this procedure. It expects a list that defines the procedure/modules
     44to be callable from the outside. Whis procedure expects a list that defines the procedure/modules
    4545you want to whitelist. If a procedure is requested that does exist but is not whitelisted '''dispatch-error''' is invoked.
    46 You have basically three possibilities to perform whitelisting all of which can be combined.
     46You have basically three possibilities to perform whitelisting, all of which can be combined.
    4747
    48481) whitelist procedures outside modules
     
    110110                                (continue))))))
    111111(start-server)
    112 
    113112</pre>
    114113
Note: See TracChangeset for help on using the changeset viewer.