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; |
} |