Partage
  • Partager sur Facebook
  • Partager sur Twitter

Programme en Perl pour gérer les erreurs http

16 mai 2018 à 13:36:50

Bonjour à tous,

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;



Merci d'avance à tous ceux qui pourront m'aider ! :)



-
Edité par Maestro974 22 mai 2018 à 12:14:09

  • Partager sur Facebook
  • Partager sur Twitter
Pouce bleu à celui qui vous a aidé! Poster votre code : balise </> ! lire les règles généralescharte de bonne conduite :)
16 mai 2018 à 16:31:02

Yop.

La fonction generateError n'a pas d'accolade fermante.

-
Edité par Chomp 16 mai 2018 à 16:31:16

  • Partager sur Facebook
  • Partager sur Twitter
16 mai 2018 à 19:43:33

Slt Chomp !

effectivement, j'ai oublié une accolade merci ;)

Malheureusement, ça ne résout pas mon problème :(

  • Partager sur Facebook
  • Partager sur Twitter
Pouce bleu à celui qui vous a aidé! Poster votre code : balise </> ! lire les règles généralescharte de bonne conduite :)
16 mai 2018 à 19:59:08

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..
  • Partager sur Facebook
  • Partager sur Twitter
16 mai 2018 à 20:18:49

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;



-
Edité par Maestro974 17 mai 2018 à 7:46:05

  • Partager sur Facebook
  • Partager sur Twitter
Pouce bleu à celui qui vous a aidé! Poster votre code : balise </> ! lire les règles généralescharte de bonne conduite :)
22 mai 2018 à 12:14:29

Up ?? :)
  • Partager sur Facebook
  • Partager sur Twitter
Pouce bleu à celui qui vous a aidé! Poster votre code : balise </> ! lire les règles généralescharte de bonne conduite :)