ad_register_proc { -debug f -noinherit f -description "" } method path proc argsWhat it does:
Registers a procedure (see ns_register_proc for syntax). Use a method of "*" to register GET, POST, and HEAD filters. If debug is set to "t", all invocations of the procedure will be ns_logged.Defined in: /web/philip/packages/acs-core/request-processor-procs.tcl
Source code:
arg_parser_for_ad_register_proc $args if { [string equal $method "*"] } { # Shortcut to allow registering filter for all methods. Just call ad_register_proc # again, with each of the three methods. foreach method { GET POST HEAD } { eval ad_register_proc [list -debug $debug -noinherit $noinherit $method $path $proc] $args } return } if { [lsearch -exact { GET POST HEAD } $method] == -1 } { error "Method passed to ad_register_proc must be one of GET, POST, or HEAD" } # Obtain a lock on the list of registered procedures. set mutex [nsv_get rp_registered_procs mutex] ns_mutex lock $mutex set procs [nsv_get rp_registered_procs $method] set proc_info [list $method $path $proc $args $debug $noinherit $description [info script]] # Don't allow the same thing to be registered twice. if { [lsearch -exact $procs $proc_info] != -1 } { ns_log "Warning" "Procedure $proc already registered for $method $path" ns_mutex unlock $mutex } # Append and sort the list of procedures. lappend procs $proc_info set procs [lsort -command rp_registered_proc_info_compare $procs] ns_log "Notice" "Registering proc $proc for $method $path" # Reset the array entry, and free the lock. nsv_set rp_registered_procs $method $procs ns_mutex unlock $mutex