• Publicity: Public Only All

request-processor-procs.tcl

The ACS Request Processor: the set of routines called upon every single HTTP request to an ACS server.

Location:
packages/acs-tcl/tcl/request-processor-procs.tcl
Created:
15 May 2000
Author:
Jon Salz <jsalz@arsdigita.com>
CVS Identification:
$Id: request-processor-procs.tcl,v 1.157 2024/10/28 16:04:31 gustafn Exp $

Procedures in this file

Detailed information

acs::root_of_host (public)

 acs::root_of_host host

Maps a hostname to the corresponding subdirectory.

Parameters:
host (required)

Testcases:
package_normalize_path, xowiki_test_cases, link_tests, slot_interactions, path_resolve

ad_conn (public)

 ad_conn [ args... ]

Returns a property about the connection. See the request processor documentation for an (incomplete) list of allowable values. If option "-set" is passed as first argument, then ad_conn sets the specified property, otherwise it returns its value. If the property has not been set directly by OpenACS it will be passed on to AOLserver's/NaviServer's ns_conn If the property is not a valid option for ns_conn either then it will throw an error.

Valid options for ad_conn are: ajax_p, behind_proxy_p, behind_secure_proxy_p, bot_p, browser_id, deferred_dml, extra_url, instance_name, last_issue, mobile_p, node_id, object_id, object_type, object_url, package_id, package_key, package_url, path_info, peeraddr, recursion_count, request, sec_validated, session_id, start_clicks, subsite_id, subsite_node_id, subsite_url, system_p, token, untrusted_user_id, user_id, vhost_package_url, vhost_subsite_url, vhost_url.

See Also:

Testcases:
cookie_consent__setup

ad_host (public)

 ad_host

Returns the hostname as it was typed in the browser, provided forcehostp is set to 0.

Testcases:
package_normalize_path, xowiki_test_cases, link_tests, slot_interactions, path_resolve

ad_register_filter (public)

 ad_register_filter [ -debug debug ] [ -priority priority ] \
    [ -critical critical ] [ -description description ] kind method \
    path proc [ arg ]

Registers a filter that gets called during page serving. The filter should return one of

  • filter_ok, meaning the page serving will continue;
  • filter_break meaning the rest of the filters of this type will not be called;
  • filter_return meaning the server will close the connection and end the request processing.

Switches:
-debug (optional, defaults to "f")
If debug is set to "t", all invocations of the filter will be ns_logged.
-priority (optional, defaults to "10000")
Priority is an integer; lower numbers indicate higher priority.
-critical (optional, defaults to "f")
If a filter is critical, page viewing will abort if a filter fails.
-description (optional)
Parameters:
kind (required)
Specify preauth, postauth or trace.
method (required)
Use a method of "*" to register GET, POST, and HEAD filters.
path (required)
proc (required)
arg (optional)

Testcases:
No testcase defined.

ad_register_proc (public)

 ad_register_proc [ -sitewide ] [ -debug debug ] \
    [ -noinherit noinherit ] [ -description description ] method path \
    proc [ arg ]

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 logged in the server log.

Switches:
-sitewide (optional, boolean)
specifies that the filter should be applied on a sitewide (not subsite-by-subsite basis).
-debug (optional, defaults to "f")
-noinherit (optional, defaults to "f")
-description (optional)
Parameters:
method (required)
path (required)
proc (required)
arg (optional)

Testcases:
test_ad_register_proc

ad_script_abort (public)

 ad_script_abort

Aborts the current running Tcl script, returning to the request processor. Used to stop processing after doing ad_returnredirect or other commands which have already returned output to the client. After such operations, the connection for this request is closed and no more replies can be sent to the client.

Testcases:
ad_return_exception_template, create_folder_with_page, create_workflow_with_instance, xowiki_test_cases, create_form_with_form_instance

rp_handle_tcl_request (public)

 rp_handle_tcl_request

Handles a request for a .tcl file. Sets up the stack of datasource frames, in case the page is templated.

Testcases:
No testcase defined.

rp_internal_redirect (public)

 rp_internal_redirect [ -absolute_path ] path

Tell the request processor to return some other page. The path can either be relative to the current directory (e.g. "some-template") relative to the server root (e.g. "/packages/my-package/www/some-template"), or an absolute path (e.g. "/home/donb/openacs-4/templates/some-cms-template"). When there is no extension then the request processor will choose the matching file according to the extension preferences. Parameters will stay the same as in the initial request. Keep in mind that if you do an internal redirect to something other than the current directory, relative links returned to the clients browser may be broken (since the client will have the original URL). Update the ns_set obtained via ns_getform if you want to feed query variables to the redirected page.

Switches:
-absolute_path (optional, boolean)
If set the path is an absolute path within the host filesystem
Parameters:
path (required)
path to the file to serve
See Also:
  • ns_getform
  • ns_set

Testcases:
create_workflow_with_instance

rp_serve_concrete_file (public)

 rp_serve_concrete_file file

Serves a file.

Parameters:
file (required)

Testcases:
No testcase defined.
[ show source ]