package Catalyst::Utils;
use strict;
-use attributes ();
use Catalyst::Exception;
use File::Spec;
use HTTP::Request;
=item appprefix($class)
-Returns the application prefix for the class
+Returns the application prefix for the class.
+
+ MyApp::Foo becomes myapp_foo
=cut
return $class;
}
-=item attrs($coderef)
-
-Returns attributes for coderef in a arrayref
-
-=cut
-
-sub attrs { attributes::get( $_[0] ) || [] }
-
=item class2appclass($class);
Returns the appclass for class.
return $name;
}
-=item reflect_actions($class);
+=item request($request)
-Returns an arrayref containing all actions of a component class.
+Returns a HTTP::Request object.
=cut
-sub reflect_actions {
- my $class = shift;
- my $actions = [];
- eval '$actions = $class->_action_cache';
-
- if ($@) {
- Catalyst::Exception->throw( message =>
- qq/Couldn't reflect actions of component "$class", "$@"/ );
+sub request {
+ my $request = shift;
+ unless ( ref $request ) {
+ if ( $request =~ m/http/i ) {
+ $request = URI->new($request)->canonical;
+ }
+ else {
+ $request = URI->new( 'http://localhost' . $request )->canonical;
+ }
}
-
- return $actions;
+ unless ( ref $request eq 'HTTP::Request' ) {
+ $request = HTTP::Request->new( 'GET', $request );
+ }
+ return $request;
}
=back