use Class::Load 'is_class_loaded';
use String::RewritePrefix;
use Class::Load ();
-
use namespace::clean;
=head1 NAME
As last resort, default value of 80 chars will be used.
+Calling C<term_width> with a true value will cause it to be recalculated; you
+can use this to cause it to get recalculated when your terminal is resized like
+this
+
+ $SIG{WINCH} = sub { Catalyst::Utils::term_width(1) };
+
=cut
my $_term_width;
sub term_width {
+ my $force_reset = shift;
+
+ undef $_term_width if $force_reset;
+
return $_term_width if $_term_width;
my $width;
return $new_psgi;
}
+
+
=head1 PSGI Helpers
Utility functions to make it easier to work with PSGI applications under Catalyst
my $env = $c->Catalyst::Utils::env_at_path_prefix;
}
-Assuming you have a requst like GET /user/name:
+Assuming you have a request like GET /user/name:
In the example case C<$env> will have PATH_INFO of '/name' instead of
'/user/name' and SCRIPT_NAME will now be '/user'.
In the example case C<$env> will have PATH_INFO of '/' instead of
'/user/name' and SCRIPT_NAME will now be '/user/name'.
-Alternatively, assuming you have a requst like GET /user/name/foo:
+Alternatively, assuming you have a request like GET /user/name/foo:
In this example case C<$env> will have PATH_INFO of '/foo' instead of
'/user/name/foo' and SCRIPT_NAME will now be '/user/name'.
my $env = $c->Catalyst::Utils::env_at_request_uri
}
-Assuming you have a requst like GET /user/name/hello:
+Assuming you have a request like GET /user/name/hello:
In the example case C<$env> will have PATH_INFO of '/' instead of
'/user/name' and SCRIPT_NAME will now be '/user/name/hello'.