* $c->uri_for (approx. 8x faster)
* $c->engine->prepare_path (approx. 27x faster)
* $c->engine->prepare_query_parameters (approx. 5x faster)
- - If libapreq2 is installed, URIs are decoded using a C function that is
- approx. 12x faster than URI::Escape.
- Updated HTTP::Body dependency to 0.9 which fixes the following issues:
* Handle when IE sometimes sends an extra CRLF after the POST body.
* Empty fields in multipart/form-data POSTs are no longer ignored.
# Amount of data to read from input on each pass
our $CHUNKSIZE = 64 * 1024;
-# See if we can use libapreq2 for URI unescaping
-use constant HAS_APR => eval {
- require APR::Request;
-};
-
=head1 NAME
Catalyst::Engine - The Catalyst Engine
=head2 $self->unescape_uri($uri)
-Unescapes a given URI using the most efficient method available. Engines
-can subclass to provide faster implementations.
+Unescapes a given URI using the most efficient method available. Engines such
+as Apache may implement this using Apache's C-based modules, for example.
=cut
sub unescape_uri {
my $self = shift;
- if ( HAS_APR ) {
- # This function is ~12x faster than URI::Escape
- return APR::Request::decode(@_);
- }
-
my $e = URI::Escape::uri_unescape(@_);
$e =~ s/\+/ /g;