This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.
The procedure is defined as:
proc tdav::apply_filters {uri options enable_filesystem} { # Verify that the options are valid options. Webdav requires # support for a minimum set of options. And offers support for a # limited set of options. (See RFC 2518) set required_options [list OPTIONS PROPFIND PROPPATCH MKCOL GET HEAD POST] foreach required_option $required_options { if {$required_option ni [string toupper $options]} { ns_log error "Required option $required_option missing from tDAV options for URI '$uri'. Required web dav options are: '$required_options'." return } } set allowed_options [list OPTIONS COPY DELETE GET HEAD MKCOL MOVE LOCK POST PROPFIND PROPPATCH PUT TRACE UNLOCK] foreach option $options { if {[lsearch -exact $allowed_options [string toupper $option]] < 0} { ns_log error "Option $option is not an allowed tDAV option for URI '$uri'. Allowed web dav options are: '$allowed_options'." return } } # Register filters for selected tDAV options. Do not register a # filter for GET, POST or HEAD. # change /example/* to /example* to accommodate the # url matching for registered filters set filter_uri "[string trimright $uri /*]*" foreach option $options { if {$option ni [list GET POST HEAD]} { ns_log debug "tDAV registering filter for $filter_uri on $option" ns_register_filter postauth [string toupper $option] "${filter_uri}" tdav::filter_webdav_[string tolower $option] } } ns_log notice "tDAV: Registered filters on $filter_uri" # Register procedures for selected tDAV options. Do not register a # proc for OPTIONS, GET, POST or HEAD. if {"true" eq $enable_filesystem} { foreach option $options { if {$option ni [list OPTIONS GET POST HEAD]} { ns_log debug "tDAV registering proc for $uri on $option" ns_register_proc [string toupper $option] "${uri}" tdav::webdav_[string tolower $option] } } ns_log notice "tDAV: Registered procedures on $uri" } else { ns_log notice "tDAV: Filesystem access by WebDAV disabled" } # Store the tDAV properties in an nsv set so that the registered # filters and procedures don't have to read the config file # anymore. nsv_set tdav_options $uri $options }