X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FPlugin%2FStatic%2FSimple.pm;h=7dbf37e9fcae1cebda642e39425ce34363351226;hb=0495a29318d1867ec261ad7eb40192fdb12383e7;hp=95de6b0792aba40db0bccf84fa2ed251ce602a9c;hpb=755bd82233f2d5f6251c70a5ea6893b13044022a;p=catagits%2FCatalyst-Plugin-Static-Simple.git diff --git a/lib/Catalyst/Plugin/Static/Simple.pm b/lib/Catalyst/Plugin/Static/Simple.pm index 95de6b0..7dbf37e 100644 --- a/lib/Catalyst/Plugin/Static/Simple.pm +++ b/lib/Catalyst/Plugin/Static/Simple.pm @@ -8,7 +8,7 @@ use File::Spec (); use IO::File (); use MIME::Types (); -our $VERSION = '0.19'; +our $VERSION = '0.20'; __PACKAGE__->mk_accessors( qw/_static_file _static_debug_message/ ); @@ -22,7 +22,11 @@ sub prepare_action { # is the URI in a static-defined path? foreach my $dir ( @{ $config->{dirs} } ) { my $dir_re = quotemeta $dir; - my $re = ( $dir =~ m{^qr/}xms ) ? eval $dir : qr/^${dir_re}/; + + # strip trailing slashes, they'll be added in our regex + $dir_re =~ s{/$}{}; + + my $re = ( $dir =~ m{^qr/}xms ) ? eval $dir : qr{^${dir_re}/}; if ($@) { $c->error( "Error compiling static dir regex '$dir': $@" ); } @@ -34,6 +38,7 @@ sub prepare_action { $c->_debug_msg( "404: file not found: $path" ) if $config->{debug}; $c->res->status( 404 ); + $c->res->content_type( 'text/html' ); } } } @@ -209,6 +214,7 @@ sub serve_static_file { $c->_debug_msg( "404: file not found: $full_path" ) if $config->{debug}; $c->res->status( 404 ); + $c->res->content_type( 'text/html' ); return; } @@ -267,9 +273,12 @@ Catalyst::Plugin::Static::Simple - Make serving static pages painless. use Catalyst; MyApp->setup( qw/Static::Simple/ ); - # that's it; static content is automatically served by - # Catalyst, though you can configure things or bypass - # Catalyst entirely in a production environment + # that's it; static content is automatically served by Catalyst + # from the application's root directory, though you can configure + # things or bypass Catalyst entirely in a production environment + # + # one caveat: the files must be served from an absolute path + # (ie. /images/foo.png) =head1 DESCRIPTION