j'espère trouver des personnes pour m'aider à résoudre mon problème côté Perl !
J'essaie comme le titre l'indique, de coder une fonction permettant d'afficher un message lors de l'erreur http !
Malheureusement, comme je suis un débutant en Perl, je ne comprends pas trop comment y arriver :/
package Result;
use strict;
use warnings;
use Data::Dumper;
use Log::Log4perl;
sub new
{
my $class = shift;
my %params = @_;
my $self = {
code => $params{'code'},
value => $params{'value'}
};
bless $self, $class;
return $self;
}
sub translateCode
{
my $self = shift;
my %params = @_;
if($self->{'code'} == 200)
{
return "Votre demande a bien été exécutée";
}
elsif($self->{'code'} == 400)
{
return "Il y'a une erreur dans votre demande ! Veuillez la vérifier !";
}
elsif($self->{'code'} == 404)
{
return "Nous n'avons pas trouvé ce que vous demandez !"
}
elsif($self->{'code'} == 500)
{
return "Erreur interne du serveur, veuillez réessayer plus tard";
}
elsif($self->{'code'} == 504)
{
return "Votre demande a prit de temps pour être exécutée, veuillez réessayer";
}
}
1;
Détaille un peu davantage ton problème, du coup. Qu'est-ce qui fonctionne, qu'est-ce qui ne fonctionne pas, qu'est-ce qui devrait fonctionner, qu'est-ce qui n'est pas censé fonctionner, comment tu as testé, etc..
Hum, il est la le problème, le responsable m'a juste demandé de générer un package (Result.pm) gérant les erreurs htpp, afin de le modifier par la suite sur les autres fonctions !
Exemple de fonction que je devrai modifier :
sub template
{
my $self = shift;
my $query = $self->query;
my $id = $query->param('id');
my $session = $self->param('session');
my $profile = $session->param('profile');
my $Project = Project->newFromId($id);
if(!$Project or $Project eq 'NOT_FOUND')
{
return $self->redirect('?rm=notfound');
}
if(!$profile->{'uid'} or $Project->{'userId'} != $profile->{'uid'})
{
return $self->redirect('?rm=notfound');
}
my $mailContent = from_json($Project->{'mail'});
my $templateContent = formatTemplate($Project->{'template'});
my $infos = [
{
'ID' => $id,
'TEMPLATE' => $templateContent,
'MAILSUBJECT' => $mailContent->{'subject'},
'MAILBODY' => $mailContent->{'body'}
}
];
if($mailContent->{'type'} eq 'text')
{
$infos->[0]{'MAILTEXT'} = 1;
}
else
{
$infos->[0]{'MAILHTML'} = 1;
}
return $self->processtmpl('template.tmpl', $infos);
}
1;