Subversion Repositories Applications.referentiel

Rev

Rev 23 | Rev 26 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23 Rev 24
Line 54... Line 54...
54
	}
54
	}
Line 55... Line 55...
55
	
55
	
56
	protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8', $json = true) {
56
	protected function envoyer($donnees = null, $mime = 'text/html', $encodage = 'utf-8', $json = true) {
57
		// Traitements des messages d'erreurs et données
57
		// Traitements des messages d'erreurs et données
58
		if (count($this->messages) != 0) {
58
		if (count($this->messages) != 0) {
59
			header('HTTP/1.1 500 Internal Server Error');
59
			header('HTTP/1.1 424 Method failure');
60
			$mime = 'text/html';
60
			$mime = 'text/html';
61
			$encodage = 'utf-8';
61
			$encodage = 'utf-8';
-
 
62
			$sortie = $this->messages;
-
 
63
			// 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
-
 
64
			// avec ce type d'erreur HTTP en php..
-
 
65
			// FIXME : comment récupérer en php le contenu de la réponse portant le code HTTP 424 ou 500
62
			$sortie = $this->messages;
66
			$this->envoyerEnteteMessage();
63
		} else {
67
		} else {
64
			$sortie = $donnees;
68
			$sortie = $donnees;
65
			if (is_null($donnees)) {
69
			if (is_null($donnees)) {
66
				$sortie = 'OK';
70
				$sortie = 'OK';
67
			}
71
			}
Line 68... Line 72...
68
		}
72
		}
69
 
73
 
Line 70... Line 74...
70
		// Gestion de l'envoie du déboguage
74
		// Gestion de l'envoie du déboguage
71
		$this->envoyerDebogage();
75
		$this->envoyerEnteteDebogage();
72
		
76
		
73
		// Encodage au format et JSON et envoie sur la sortie standard
77
		// Encodage au format et JSON et envoie sur la sortie standard
Line -... Line 78...
-
 
78
		$contenu = $json ? json_encode($sortie) : $sortie;
-
 
79
		$this->envoyerContenu($encodage, $mime, $contenu);
-
 
80
	}
-
 
81
	
-
 
82
	protected function envoyerEnteteMessage() {
-
 
83
		if (!is_array($this->messages)) {
-
 
84
			$this->messages[] = $this->messages;
-
 
85
		}
-
 
86
		if (count($this->messages) != 0) {
-
 
87
			foreach ($this->messages as $cle => $val) {
-
 
88
				if (is_array($val)) {
-
 
89
					$this->messages[$cle] = print_r($val, true);
-
 
90
				}
-
 
91
			}
74
		$contenu = $json ? json_encode($sortie) : $sortie;
92
			header('X-MessageJrest-Data:'.json_encode($this->messages));
75
		$this->envoyerContenu($encodage, $mime, $contenu);
93
		}
76
	}
94
	}
77
	
95
	
78
	protected function envoyerDebogage() {
96
	protected function envoyerEnteteDebogage() {
79
		if (!is_array($this->debug)) {
97
		if (!is_array($this->debug)) {