ASP4::ConfigNode::Web - The $Config->web object.
Given the following configuration...
{ ... web: { application_name: "DefaultApp", application_root: "@ServerRoot@", www_root: "@ServerRoot@/htdocs", handler_root: "@ServerRoot@/handlers", page_cache_root: "/tmp/PAGE_CACHE", handler_resolver: "ASP4::HandlerResolver", handler_runner: "ASP4::HandlerRunner", filter_resolver: "ASP4::FilterResolver", request_filters: [ { uri_match: "^/.*", filter_class: "My::Filter" } ], disable_persistence: [ { uri_match: "^/nostate/.*", disable_session: true, disable_application: false } ] } ... }
You would access it like this:
$Config->web->application_name; # 'MyApp' $Config->web->application_root; # '/usr/local/projects/mysite.com' $Config->web->handler_root; # '/usr/local/projects/mysite.com/handlers' $Config->web->www_root; # '/usr/local/projects/mysite.com/htdocs' $Config->web->page_cache_root; # '/tmp/PAGE_CACHE' You will never need to do this: foreach my $filter ( $Config->web->request_filters ) { my $regexp = $filter->uri_match; my $class = $filter->class; }# end foreach()
ASP4::ConfigNode::Web provides access to the web portion of the configuration.
web
Returns the name of the application.
Returns the absolute path to the root of the application, i.e. /usr/local/projects/mysite.com
/usr/local/projects/mysite.com
Returns the absolute path to where the 'handlers' are installed, i.e. /usr/local/projects/mysite.com/handlers
/usr/local/projects/mysite.com/handlers
Returns the absolute path to where the normal website files (ASP, images, css, javascripts, etc) are located, i.e. /usr/local/projects/mysite.com/htdocs
/usr/local/projects/mysite.com/htdocs
Returns the absolute path to where 'compiled' ASP scripts are stored, i.e. /tmp/PAGE_CACHE
/tmp/PAGE_CACHE
Since the 'compiled' ASP scripts are overwritten whenever the source ASP script has been changed on disk, the webserver process must have read/write access to this location.
It is recommended that a temporary path is used - '/tmp' on most Linux distributions.
Returns a list of ConfigNodes that represent individual filter elements in the configuration.
filter
*IF* you have defined a "routes" section in your config - like this:
... "web": { ... "routes": [ { "name": "Wiki", "path": "/:lang-:locale/{*page}", "target": "/wiki-page.asp", "defaults": { "page": "home", "lang": "en", "locale": "us" } } ] ... }
Then the router property will return a Router::Generic object based on your routes.
router
You can access it from the $Config like this:
$Config
$Config->web->router
ASP4::RequestFilter
It's possible that some bugs have found their way into this release.
Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=ASP4 to submit bug reports.
Please visit the ASP4 homepage at http://0x31337.org/code/ to see examples of ASP4 in action.
John Drago <jdrago_999@yahoo.com>
Copyright 2007 John Drago, All rights reserved.
This software is free software. It may be used and distributed under the same terms as Perl itself.
To install ASP4, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ASP4
CPAN shell
perl -MCPAN -e shell install ASP4
For more information on module installation, please visit the detailed CPAN module installation guide.