Check internal refresh result (#2375)

This commit is contained in:
Clément OUDOT 2020-11-05 12:26:35 +01:00
parent 8125dcb6b7
commit fa0f043f18

View File

@ -2,6 +2,7 @@ package Lemonldap::NG::Portal::Plugins::Refresh;
use strict;
use Mouse;
use JSON;
our $VERSION = '2.0.10';
@ -35,9 +36,26 @@ sub run {
);
$req->id($id);
$req->user( $info->{uid} );
eval { $self->p->refresh($req); };
$self->logger->debug("Refresh: $@") if $@;
$c++;
my $res;
eval { $res = $self->p->refresh($req); };
if ($@) {
$self->logger->error("Refresh: $@");
next;
}
if ( ref($res) ne "ARRAY" ) {
$self->logger->error("Refresh failed for session $id");
next;
}
my $refreshJSON = $res->[2]->[0];
$self->logger->debug("Refresh result: $refreshJSON");
my $refreshHASH = from_json($refreshJSON);
if ( $refreshHASH->{error} == 0 ) {
$self->logger->notice("Refresh succeed for session $id");
$c++;
}
else {
$self->logger->error("Refresh failed for session $id");
}
}
$req->userData( {} );
$req->$_(undef) foreach (qw(user id));