NAME
Yukki::Web::Context - request-response context descriptor
VERSION
version 0.99_01
SYNOPSIS
# Many components are handed a Context in $ctx...
my $request = $ctx->request;
my $session = $ctx->session;
my $session_options = $ctx->session_options;
my $response = $ctx->response;
my $stash = $ctx->stash;
$ctx->add_errors('bad stuff');
$ctx->add_warnings('not so good stuff');
$ctx->add_info('some stuff');
DESCRIPTION
This describes information about a single request-repsonse to be handled by the server.
ATTRIBUTES
env
This is the PSGI environment. Do not use directly. This will probably be renamed to make it more difficult to use directly in the future.
request
This is the Yukki::Web::Request object representing the incoming request.
response
This is the Yukki::Web::Response object representing the response to send back to the client.
stash
This is a temporary stash of information. Use of this should be avoided when possible. Global state like this (even if it only lasts for one request) should only be used as a last resort.
base_url
This is a URI describing the base path to get to this Yukki wiki site. It is configured from the "base_url" in Yukki::Web::Settings setting. The value of the setting will determine how this value is calculated or may set it explicitly.
SCRIPT_NAME
. Whenbase_url
is set toSCRIPT_NAME
, then the full path to the script name will be used as the base URL. This is the default and, generally, the safest option.REWRITE
. TheREWRITE
option takes a slightly different approach to building the base URL. It looks at theREQUEST_URI
and compares that to thePATH_INFO
and finds the common components. For example:PATH_INFO=/page/view/main REQUEST_URI=/yukki-site/page/view/main
this leads to a base URL of:
/yukki-site
If
PATH_INFO
is not a sub-path ofREQUEST_URI
, this will fall back to the same solution asSCRIPT_NAME
above.Anything else will be considered an absolute URL and used as the base URL.
This may be used to construct redirects or URLs for links and form actions.
errors
warnings
info
These each contain an array of errors.
The list_errors
, list_warnings
, and list_info
methods are provided to return the values as a list.
The add_errors
, add_warnings
, and add_info
methods are provided to append new messages.
The has_errors
, has_warnings
, and has_info
methods are provided to tell you if there are any messages.
METHODS
rebase_url
my $url = $ctx->rebase_url($path);
Given a relative URL, this returns an absolute URL using the "base_url".
list_errors
list_warnings
list_info
These methods return the list of errors, warnings, and info messages associated with the current flow.
add_errors
add_warnings
add_info
These methods add zero or more errors, warnings, and info messages to be associated with the current flow.
has_errors
has_warnings
has_info
These methods return a true value if there are any errors, warnings, or info messages associated with the current flow.
AUTHOR
Andrew Sterling Hanenkamp <hanenkamp@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Qubling Software LLC.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.