X-Git-Url: http://git.ieval.ro/?p=plack-middleware-auth-complex.git;a=blobdiff_plain;f=lib%2FPlack%2FMiddleware%2FAuth%2FComplex.pm;h=ac70da693554a5aec710f194b3e386ba93fcf874;hp=758e0c24e4fc1361f699cc515117ed6a7e0c9717;hb=d332726d5726e639bc597493c3db9e79fe5a0174;hpb=f8d502f0bbff27bc0809670fd9d0a8d2b5aab305 diff --git a/lib/Plack/Middleware/Auth/Complex.pm b/lib/Plack/Middleware/Auth/Complex.pm index 758e0c2..ac70da6 100644 --- a/lib/Plack/Middleware/Auth/Complex.pm +++ b/lib/Plack/Middleware/Auth/Complex.pm @@ -43,7 +43,6 @@ sub new { my %self = $class->default_opts; %self = (%self, %$opts); my $self = bless \%self, $class; - $self->init; $self } @@ -232,6 +231,12 @@ sub call_reset { sub call { my ($self, $env) = @_; + + unless ($self->{init_done}) { + $self->init; + $self->{init_done} = 1; + } + my $auth = $env->{HTTP_AUTHORIZATION}; if ($auth && $auth =~ /^Basic (.*)$/i) { my ($user, $pass) = split /:/, decode_base64($1), 2; @@ -420,7 +425,7 @@ Creates a new AuthComplex object. =item B -Called at the end of the constructor. The default implementation +Called when the first request is received. The default implementation connects to the database, calls C and prepares the SQL statements.