Subversion Repositories eFlore/Applications.moissonnage

Compare Revisions

Ignore whitespace Rev 22 → Rev 34

/trunk/services/bibliotheque/ReponseHttp.php
2,16 → 2,11
 
class ReponseHttp {
 
private $mime = 'application/json';
private $encodage = 'utf-8';
private $codeHttp = RestServeur::HTTP_CODE_OK;
private $corps = '';
private $resultatService = null;
private $erreurs = array();
 
public function __construct() {
$this->resultatService = new ResultatService();
if (function_exists('json_decode') == false){
require_once (dirname(__FILE__).'/JSON.php');
function json_decode($content, $assoc = false){
32,18 → 27,21
}
}
 
public function setResultatService($resultat) {
$this->corps = $resultat;
if (!($resultat instanceof ResultatService)) {
$this->resultatService->corps = $resultat;
} else {
$this->resultatService = $resultat;
}
}
 
public function getCorps() {
if ($this->etreEnErreur()) {
$this->corps = $this->erreurs[0]['message'];
$this->resultatService->corps = $this->erreurs[0]['message'];
} else {
$this->transformerReponseCorpsSuivantMime();
}
return $this->corps;
return $this->resultatService->corps;
}
 
public function ajouterErreur(Exception $e) {
51,17 → 49,16
}
 
public function emettreLesEntetes() {
$enteteHttp = new EnteteHttp();
if ($this->etreEnErreur()) {
$codeHttp = $this->erreurs[0]['entete'];
$encodage = 'utf-8';
$mime = 'text/html';
$enteteHttp->code = $this->erreurs[0]['entete'];
$enteteHttp->mime = 'text/html';
} else {
$codeHttp = $this->codeHttp;
$encodage = $this->encodage;
$mime = $this->mime;
$enteteHttp->encodage = $this->resultatService->encodage;
$enteteHttp->mime = $this->resultatService->mime;
}
header("Content-Type: $mime; charset=$encodage");
RestServeur::envoyerEnteteStatutHttp($codeHttp);
header("Content-Type: $enteteHttp->mime; charset=$enteteHttp->encodage");
RestServeur::envoyerEnteteStatutHttp($enteteHttp->code);
}
 
private function etreEnErreur() {
73,14 → 70,14
}
 
private function transformerReponseCorpsSuivantMime() {
switch ($this->mime) {
switch ($this->resultatService->mime) {
case 'application/json' :
if (isset($_GET['callback'])) {
$contenu = $_GET['callback'].'('.json_encode($this->corps).');';
$contenu = $_GET['callback'].'('.json_encode($this->resultatService->corps).');';
} else {
$contenu = json_encode($this->corps);
$contenu = json_encode($this->resultatService->corps);
}
$this->corps = $contenu;
$this->resultatService->corps = $contenu;
break;
}
}