From fcb937cc7d38451b532c195a4f5a197fa6846cbb Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 2 Sep 2010 12:10:09 -0500 Subject: split m{/}, '/' doesn't do what i want (it returns undef) --- lib/Plack/Middleware/Auth/Htpasswd.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/Plack/Middleware/Auth/Htpasswd.pm b/lib/Plack/Middleware/Auth/Htpasswd.pm index ff46005..8436912 100644 --- a/lib/Plack/Middleware/Auth/Htpasswd.pm +++ b/lib/Plack/Middleware/Auth/Htpasswd.pm @@ -101,12 +101,14 @@ sub authenticate { return $self->_check_password($self->file, $user, $pass) if defined $self->file; - my $req = Plack::Request->new($env); + my $path = Plack::Request->new($env)->path; my $dir = Path::Class::Dir->new($self->file_root); - my @htpasswd = reverse - map { $_->file('.htpasswd')->stringify } - map { $dir = $dir->subdir($_) } - split m{/}, $req->path; + my @htpasswd = $path ne '/' + ? reverse + map { $_->file('.htpasswd')->stringify } + map { $dir = $dir->subdir($_) } + split m{/}, $path + : ($dir->file('.htpasswd')->stringify); for my $htpasswd (@htpasswd) { next unless -f $htpasswd && -r _; -- cgit v1.2.3-54-g00ecf