Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 23 → Rev 24

/trunk/services/modules/Ref.php
56,10 → 56,14
protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8', $json = true) {
// Traitements des messages d'erreurs et données
if (count($this->messages) != 0) {
header('HTTP/1.1 500 Internal Server Error');
header('HTTP/1.1 424 Method failure');
$mime = 'text/html';
$encodage = 'utf-8';
$sortie = $this->messages;
// En plus de la réponse, nous passons les messages dans l'entete car la réponse ne peut pas être récupérée
// avec ce type d'erreur HTTP en php..
// FIXME : comment récupérer en php le contenu de la réponse portant le code HTTP 424 ou 500
$this->envoyerEnteteMessage();
} else {
$sortie = $donnees;
if (is_null($donnees)) {
68,7 → 72,7
}
 
// Gestion de l'envoie du déboguage
$this->envoyerDebogage();
$this->envoyerEnteteDebogage();
// Encodage au format et JSON et envoie sur la sortie standard
$contenu = $json ? json_encode($sortie) : $sortie;
75,7 → 79,21
$this->envoyerContenu($encodage, $mime, $contenu);
}
protected function envoyerDebogage() {
protected function envoyerEnteteMessage() {
if (!is_array($this->messages)) {
$this->messages[] = $this->messages;
}
if (count($this->messages) != 0) {
foreach ($this->messages as $cle => $val) {
if (is_array($val)) {
$this->messages[$cle] = print_r($val, true);
}
}
header('X-MessageJrest-Data:'.json_encode($this->messages));
}
}
protected function envoyerEnteteDebogage() {
if (!is_array($this->debug)) {
$this->debug[] = $this->debug;
}