From: Marcus Ramberg Date: Mon, 24 Apr 2006 08:10:09 +0000 (+0000) Subject: lala X-Git-Tag: 5.7099_04~616 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=3e22baa5ca02859b9180a0ec17d49fd204f5ba37 lala --- diff --git a/lib/Catalyst/Request.pm b/lib/Catalyst/Request.pm index cd53311..46e0df6 100644 --- a/lib/Catalyst/Request.pm +++ b/lib/Catalyst/Request.pm @@ -68,7 +68,7 @@ Catalyst::Request - provides information about the current client request $req->user; $req->user_agent; -See also L. +See also L, L. =head1 DESCRIPTION diff --git a/lib/Catalyst/Request/Upload.pm b/lib/Catalyst/Request/Upload.pm index 80a3624..e5922c2 100644 --- a/lib/Catalyst/Request/Upload.pm +++ b/lib/Catalyst/Request/Upload.pm @@ -6,8 +6,9 @@ use base 'Class::Accessor::Fast'; use Catalyst::Exception; use File::Copy (); use IO::File (); +use File::Spec::Unix; -__PACKAGE__->mk_accessors(qw/filename headers size tempname type/); +__PACKAGE__->mk_accessors(qw/filename headers size tempname type basename/); sub new { shift->SUPER::new( ref( $_[0] ) ? $_[0] : {@_} ) } @@ -17,6 +18,7 @@ Catalyst::Request::Upload - handles file upload requests =head1 SYNOPSIS + $upload->basename; $upload->copy_to; $upload->fh; $upload->filename; @@ -136,6 +138,23 @@ sub slurp { return $content; } +sub basename { + my $self = shift; + unless ( $self->{basename} ) { + my $basename = $self->filename; + $basename =~ s|\\|/|g; + $basename = ( File::Spec::Unix->splitpath($basename) )[2]; + $basename =~ s|[^\w\.-]+|_|g; + $self->{basename} = $basename; + } + + return $self->{basename}; +} + +=head2 $upload->basename + +Returns basename for C. + =head2 $upload->tempname Returns the path to the temporary file. diff --git a/lib/Catalyst/Test.pm b/lib/Catalyst/Test.pm index 26d6072..35fe18d 100644 --- a/lib/Catalyst/Test.pm +++ b/lib/Catalyst/Test.pm @@ -76,7 +76,7 @@ sub import { else { $class->require; - die if $@ && $@ !~ /^Can't locate /; + die $@ if $@; $class->import; $request = sub { local_request( $class, @_ ) };