• 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)

Partial Call Graph (max 5 caller/called nodes):
%3 test_link_tests link_tests (test xowiki) acs::root_of_host acs::root_of_host test_link_tests->acs::root_of_host test_package_normalize_path package_normalize_path (test xowiki) test_package_normalize_path->acs::root_of_host test_path_resolve path_resolve (test xowiki) test_path_resolve->acs::root_of_host test_slot_interactions slot_interactions (test xowiki) test_slot_interactions->acs::root_of_host test_xowiki_test_cases xowiki_test_cases (test xowiki) test_xowiki_test_cases->acs::root_of_host acs::root_of_host_noncached acs::root_of_host_noncached (private) acs::root_of_host->acs::root_of_host_noncached rp_filter rp_filter (private) rp_filter->acs::root_of_host xo::PackageMgr instproc initialize xo::PackageMgr instproc initialize (public) xo::PackageMgr instproc initialize->acs::root_of_host

Testcases:
package_normalize_path, xowiki_test_cases, link_tests, slot_interactions, path_resolve

ad_acs_kernel_id (public)

 ad_acs_kernel_id

Returns the package_id of the kernel.

Partial Call Graph (max 5 caller/called nodes):
%3 test_acs_system_information_api acs_system_information_api (test acs-tcl) ad_acs_kernel_id ad_acs_kernel_id test_acs_system_information_api->ad_acs_kernel_id test_auth_email_on_password_change auth_email_on_password_change (test acs-authentication) test_auth_email_on_password_change->ad_acs_kernel_id test_auth_password_change auth_password_change (test acs-authentication) test_auth_password_change->ad_acs_kernel_id test_auth_use_email_for_login_p auth_use_email_for_login_p (test acs-authentication) test_auth_use_email_for_login_p->ad_acs_kernel_id test_link_tests link_tests (test xowiki) test_link_tests->ad_acs_kernel_id acs_privacy::privacy_control_enabled_p acs_privacy::privacy_control_enabled_p (public, deprecated) acs_privacy::privacy_control_enabled_p->ad_acs_kernel_id acs_privacy::privacy_control_set acs_privacy::privacy_control_set (public, deprecated) acs_privacy::privacy_control_set->ad_acs_kernel_id apm_system_paths apm_system_paths (private) apm_system_paths->ad_acs_kernel_id auth::UseEmailForLoginP auth::UseEmailForLoginP (public) auth::UseEmailForLoginP->ad_acs_kernel_id auth::check_local_account_status auth::check_local_account_status (private) auth::check_local_account_status->ad_acs_kernel_id

Testcases:
auth_password_change, auth_use_email_for_login_p, auth_email_on_password_change, password_recovery_page, acs_system_information_api, link_tests

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:

Partial Call Graph (max 5 caller/called nodes):
%3 test_cookie_consent__setup cookie_consent__setup (test cookie-consent) ad_conn ad_conn test_cookie_consent__setup->ad_conn acs::icanuse acs::icanuse (public) ad_conn->acs::icanuse apm_package_id_from_key apm_package_id_from_key (public) ad_conn->apm_package_id_from_key parameter::get parameter::get (public) ad_conn->parameter::get site_node::closest_ancestor_package site_node::closest_ancestor_package (public) ad_conn->site_node::closest_ancestor_package site_node::get site_node::get (public) ad_conn->site_node::get Class ::xo::db::Class Class ::xo::db::Class (public) Class ::xo::db::Class->ad_conn Class ::xo::lti::LTI Class ::xo::lti::LTI (public) Class ::xo::lti::LTI->ad_conn Class ::xowiki::formfield::numeric Class ::xowiki::formfield::numeric (public) Class ::xowiki::formfield::numeric->ad_conn Class ::xowiki::formfield::richtext::tinymce Class ::xowiki::formfield::richtext::tinymce (public) Class ::xowiki::formfield::richtext::tinymce->ad_conn Class ::xowiki::includelet::categories Class ::xowiki::includelet::categories (public) Class ::xowiki::includelet::categories->ad_conn

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.

Partial Call Graph (max 5 caller/called nodes):
%3 test_link_tests link_tests (test xowiki) ad_host ad_host test_link_tests->ad_host test_package_normalize_path package_normalize_path (test xowiki) test_package_normalize_path->ad_host test_path_resolve path_resolve (test xowiki) test_path_resolve->ad_host test_slot_interactions slot_interactions (test xowiki) test_slot_interactions->ad_host test_xowiki_test_cases xowiki_test_cases (test xowiki) test_xowiki_test_cases->ad_host rp_filter rp_filter (private) rp_filter->ad_host xo::PackageMgr instproc initialize xo::PackageMgr instproc initialize (public) xo::PackageMgr instproc initialize->ad_host

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)

Partial Call Graph (max 5 caller/called nodes):
%3 http_auth::register_filter http_auth::register_filter (public) ad_register_filter ad_register_filter http_auth::register_filter->ad_register_filter packages/acs-core-docs/tcl/acs-core-docs-init.tcl packages/acs-core-docs/ tcl/acs-core-docs-init.tcl packages/acs-core-docs/tcl/acs-core-docs-init.tcl->ad_register_filter packages/acs-developer-support/tcl/acs-developer-support-init.tcl packages/acs-developer-support/ tcl/acs-developer-support-init.tcl packages/acs-developer-support/tcl/acs-developer-support-init.tcl->ad_register_filter packages/acs-tcl/tcl/admin-init.tcl packages/acs-tcl/ tcl/admin-init.tcl packages/acs-tcl/tcl/admin-init.tcl->ad_register_filter packages/acs-templating/tcl/template-init.tcl packages/acs-templating/ tcl/template-init.tcl packages/acs-templating/tcl/template-init.tcl->ad_register_filter apm_first_time_loading_p apm_first_time_loading_p (public) ad_register_filter->apm_first_time_loading_p

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)

Partial Call Graph (max 5 caller/called nodes):
%3 test_test_ad_register_proc test_ad_register_proc (test acs-tcl) ad_register_proc ad_register_proc test_test_ad_register_proc->ad_register_proc request_processor::test::require_registered_procs request_processor::test::require_registered_procs (private) request_processor::test::require_registered_procs->ad_register_proc

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.

Partial Call Graph (max 5 caller/called nodes):
%3 test_ad_return_exception_template ad_return_exception_template (test acs-templating) ad_script_abort ad_script_abort test_ad_return_exception_template->ad_script_abort test_create_folder_with_page create_folder_with_page (test xowf) test_create_folder_with_page->ad_script_abort test_create_form_with_form_instance create_form_with_form_instance (test xowiki) test_create_form_with_form_instance->ad_script_abort test_create_workflow_with_instance create_workflow_with_instance (test xowf) test_create_workflow_with_instance->ad_script_abort test_xowiki_test_cases xowiki_test_cases (test xowiki) test_xowiki_test_cases->ad_script_abort ad_raise ad_raise (public) ad_script_abort->ad_raise Class ::Generic::Form Class ::Generic::Form (public) Class ::Generic::Form->ad_script_abort Class ::xo::Context Class ::xo::Context (public) Class ::xo::Context->ad_script_abort Class ::xowf::test_item::Question_manager Class ::xowf::test_item::Question_manager (public) Class ::xowf::test_item::Question_manager->ad_script_abort Class ::xowiki::includelet::categories Class ::xowiki::includelet::categories (public) Class ::xowiki::includelet::categories->ad_script_abort Class ::xowiki::includelet::slidy Class ::xowiki::includelet::slidy (public) Class ::xowiki::includelet::slidy->ad_script_abort

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.

Partial Call Graph (max 5 caller/called nodes):
%3 db_qd_get_fullname db_qd_get_fullname (public) rp_handle_tcl_request rp_handle_tcl_request db_qd_get_fullname->rp_handle_tcl_request ad_conn ad_conn (public) rp_handle_tcl_request->ad_conn

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

Partial Call Graph (max 5 caller/called nodes):
%3 test_create_workflow_with_instance create_workflow_with_instance (test xowf) rp_internal_redirect rp_internal_redirect test_create_workflow_with_instance->rp_internal_redirect ad_conn ad_conn (public) rp_internal_redirect->ad_conn rp_serve_abstract_file rp_serve_abstract_file (private) rp_internal_redirect->rp_serve_abstract_file ad_core_docs_html_redirector ad_core_docs_html_redirector (private) ad_core_docs_html_redirector->rp_internal_redirect packages/acs-api-browser/www/index.tcl packages/acs-api-browser/ www/index.tcl packages/acs-api-browser/www/index.tcl->rp_internal_redirect packages/acs-subsite/www/index.tcl packages/acs-subsite/ www/index.tcl packages/acs-subsite/www/index.tcl->rp_internal_redirect

Testcases:
create_workflow_with_instance

rp_serve_concrete_file (public)

 rp_serve_concrete_file file

Serves a file.

Parameters:
file (required)

Partial Call Graph (max 5 caller/called nodes):
%3 rp_handle_request rp_handle_request (private) rp_serve_concrete_file rp_serve_concrete_file rp_handle_request->rp_serve_concrete_file rp_serve_abstract_file rp_serve_abstract_file (private) rp_serve_abstract_file->rp_serve_concrete_file ad_file ad_file (public) rp_serve_concrete_file->ad_file ad_raise ad_raise (public) rp_serve_concrete_file->ad_raise ad_try ad_try (public) rp_serve_concrete_file->ad_try ds_add ds_add (public) rp_serve_concrete_file->ds_add ds_init ds_init (public) rp_serve_concrete_file->ds_init

Testcases:
No testcase defined.
[ show source ]