=head2 shift_errors
shifts the most recently added error off the error stack and returns if. Returns
-nothing if there are nomore errors.
+nothing if there are no more errors.
=cut
=head2 $c->finalize_encoding
Make sure your body is encoded properly IF you set an encoding. By
-default the encoding is UTF-8 but you can disable it by explictly setting the
+default the encoding is UTF-8 but you can disable it by explicitly setting the
encoding configuration value to undef.
We can only encode when the body is a scalar. Methods for encoding via the
Please B<NOTE> that if you do use C<using_frontend_proxy> the middleware is now
adding via C<registered_middleware> rather than this method.
-If you are using Lighttp or IIS6 you may wish to apply these middlewares. In
+If you are using Lighttpd or IIS6 you may wish to apply these middlewares. In
general this is no longer a common case but we have this here for backward
compatibility.
not attempt to return a valid L<PSGI> application using any existing C<${myapp}.psgi>
scripts in your $HOME directory.
-B<NOTE> C<apply_default_middlewares> was orginally created when the first PSGI
+B<NOTE> C<apply_default_middlewares> was originally created when the first PSGI
port was done for v5.90000. These are middlewares that are added to achieve
backward compatibility with older applications. If you start your application
using one of the supplied server scripts (generated with L<Catalyst::Devel> and
NOTE: We also examine the value of $c->response->content_encoding. If
you set this (like for example 'gzip', and manually gzipping the body)
-we assume that you have done all the neccessary encoding yourself, since
+we assume that you have done all the necessary encoding yourself, since
we cannot encode the gzipped contents. If you use a plugin like
L<Catalyst::Plugin::Compress> you need to update to a modern version in order
to have this function correctly with the new UTF8 encoding code, or you
# break the chain if exception occurs in the middle of chain. We
# check the global config flag 'abort_chain_on_error_fix', but this
- # is now considered true by default, so unless someone explictly sets
+ # is now considered true by default, so unless someone explicitly sets
# it to false we default it to true (if its not defined).
my $abort = defined($c->config->{abort_chain_on_error_fix}) ?
$c->config->{abort_chain_on_error_fix} : 1;
default. So you no longer need any plugins (such as L<Catalyst::Plugin::Unicode::Encoding>)
which you can just no go ahead and remove. You also don't need to set
the encoding configuration (__PACKAGE__->config(encoding=>'UTF-8')) anymore
-as well (although its presense hurts nothing).
+as well (although its presence hurts nothing).
If this change causes you trouble, you can disable it:
A small change is that the configuration setting C<using_frontend_proxy>
was not doing the right thing if you started your application with C<psgi_app>
-and dod not apply the default middleware. This setting is now honored in
+and did not apply the default middleware. This setting is now honored in
all the ways an application may be started. This could cause trouble if you
are using the configuration value and also adding the proxy middleware
manually with a custom application startup. The solution is that you only
alone distribution
We store a coderef under the C<PSGI_KEY> which can be dereferenced with
-key values or nothing to access the underly hashref.
+key values or nothing to access the underlying hashref.
The stash middleware is designed so that you can 'nest' applications that
use it. If for example you have a L<Catalyst> application that is called
matches the content-type) we raise a L<Catalyst::Exception> with the error
text as the message.
-If the POSTed content type does not match an availabled data handler, this
+If the POSTed content type does not match an available data handler, this
will also raise an exception.
=head2 $req->body_parameters
in scalar context and another thing in list context. This is combined with how Perl
chooses to deal with duplicate keys in a hash definition by overwriting the value of
existing keys with a new value if the same key shows up again. Generally you will be
-vulnerale to this exploit if you are using this method in a direct assignment in a
+vulnerable to this exploit if you are using this method in a direct assignment in a
hash, such as with a L<DBIx::Class> create statement. For example, if you have
parameters like:
example L<Twiggy> will attempt to server a real local file in a non blocking manner).
If you are using a filehandle as the body response you are responsible for
-making sure it comforms to the L<PSGI> specification with regards to content
+making sure it conforms to the L<PSGI> specification with regards to content
encoding. Unlike with scalar body values or when using the streaming interfaces
we currently do not attempt to normalize and encode your filehandle. In general
this means you should be sure to be sending bytes not UTF8 decoded multibyte
use Test::Spelling;
add_stopwords(qw(
- API CGI MVC PSGI Plack README SSI Starman XXXX URI htaccess middleware
+ Accel API CGI MVC PSGI Plack README SSI Starman XXXX URI htaccess middleware
mixins namespace psgi startup Deprecations catamoose cataplack linearize
- subclasses subdirectories refactoring adaptors
+ subclasses subdirectories refactoring adaptors validator remediations
undef env regex unary rethrow rethrows stringifies CPAN STDERR SIGCHLD baz
roadmap wishlist refactor refactored Runtime pluggable pluggability hoc apis
- fastcgi nginx Lighttpd IIS middlewares backend IRC
+ fastcgi nginx Lighttpd IIS middlewares backend IRC IOLayer
ctx _application MyApp restarter httponly Utils stash's unescapes
- dispatchtype dispatchtypes redispatch redispatching
+ actionchain dispatchtype dispatchtypes redispatch redispatching
CaptureArgs ChainedParent PathPart PathPrefix
BUILDARGS metaclass namespaces pre ARGV ReverseProxy
filename tempname request's subdirectory ini uninstalled uppercased
wiki bitmask uri url urls dir hostname proxied http https IP SSL
- inline INLINE plugins cpanfile
+ inline INLINE plugins cpanfile resized
FastCGI Stringifies Rethrows DispatchType Wishlist Refactor ROADMAP HTTPS Unescapes Restarter Nginx Refactored
- ActionClass LocalRegex LocalRegexp MyAction metadata cometd io psgix websockets
- UTF async codebase dev filenames params MyMiddleware
- JSON POSTed RESTful performant subref actionrole
- chunked chunking codewise distingush equivilent plack Javascript
- ConfigLoader getline
+ ActionClass LocalRegex LocalRegexp MyAction metadata cometd io psgix websocket websockets proxying
+ UTF async codebase dev encodable filenames params MyMiddleware Sendfile
+ JSON xml POSTed RESTful performant subref actionrole
+ chunked chunking codewise distingush equivilent plack Javascript gzipping
+ ConfigLoader getline whitepaper
Andreas
Ashton
Axel
audreyt
bricas
chansen
+ davewood
dhoss
dkubb
dwc
ilmari
jcamacho
jhannah
+ jnap
jon
konobi
marcus
mgrimes
miyagawa
mst
+ Napiorkowski
naughton
ningu
nothingmuch