NAME¶
Jifty::View::Mason::Handler - Handler for Mason requests inside of Jifty
SUMMARY¶
Jifty controls all of the input and output from the Mason templating engine;
this means that we cannot use the Mason's standard HTML::Mason::CGIHandler
interface to interact with it.
new PARAMHASH¶
Takes a number of key-value parameters; see HTML::Mason::Params. Defaults the
"out_method" to appending to "buffer" in Jifty::Handler
and the "request_class" to Jifty::View::Mason::Request (below).
Finally, adds "h" and "u" escapes, which map to
"escape_uri" and escape_utf8 respectively.
config¶
Returns our Mason config. We use the component root specified in the
"Web/TemplateRoot" framework configuration variable (or
"html" by default). Additionally, we set up a "jifty"
component root, as specified by the "Web/DefaultTemplateRoot"
configuration. All interpolations are HTML-escaped by default, and we use the
fatal error mode.
escape_utf8 SCALARREF¶
Does a css-busting but minimalist escaping of whatever html you're passing in.
escape_uri SCALARREF¶
Escapes in-place URI component according to RFC2396. Takes a reference to perl
string.
*Note* that octets would be treated as latin1 encoded sequence and converted to
UTF-8 encoding and then escaped. So this sub always provide UTF-8 escaped
string. See also Encode for more info about converting.
template_exists COMPONENT¶
Checks if the "COMPONENT" exists, or if
"COMPONENT/index.html" exists, and returns which one did. If neither
did, it searches for "dhandler" components which could match,
returning "COMPONENT" if it finds one. Finally, if it finds no
possible component matches, returns undef.
Note that this algorithm does not actually decisively return if Mason
will handle a given component; the
dhandlers could defer
handling, for instance.
show COMPONENT¶
Takes a component path to render. Deals with setting up a global
HTML::Mason::FakeApache and Request object, and calling the component.
handle_comp¶
A synonym for show
request_args¶
The official source for request arguments is from the current Jifty::Request
object.
create_cache_directories¶
Attempts to create our application's mason cache directory.