Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 364 → Rev 365

/trunk/framework/RestServeur.php
382,11 → 382,12
* database contents.
*/
private function get() {
$retour = '';
if ($this->service != null) {
$Service = new $this->service(self::$config);
if (method_exists($Service, self::METHODE_GET)) {
$methodeGet = self::METHODE_GET;
$Service->$methodeGet($this->ressources, $this->parametres);
$retour = $Service->$methodeGet($this->ressources, $this->parametres);
} else {
self::envoyerEnteteStatutHttp(self::HTTP_CODE_RESSOURCE_INTROUVABLE);
$e = "Le service '{$this->service}' ne contient pas la méthode '".self::METHODE_GET."' nécessaire ".
394,6 → 395,7
self::ajouterMessage($e);
}
}
return $retour;
}
 
private function post() {
429,6 → 431,7
}
 
private function put() {
$retour = '';
$paires = $this->parserDonneesRequete();
if (count($paires) != 0) {
if ($this->service != null) {
435,8 → 438,8
$Service = new $this->service(self::$config);
if (method_exists($Service, self::METHODE_PUT)) {
$methodePut = self::METHODE_PUT;
$info = $Service->$methodePut($this->ressources, $paires);
if ($info === true) {
$retour = $Service->$methodePut($this->ressources, $paires);
if ($retour !== false) {
$this->envoyerEnteteStatutHttp(self::HTTP_CODE_CREATION_OK);
}
} else {
451,6 → 454,7
$e = "Il est nécessaire de fournir du contenu dans le corps de la requête pour créer une nouvelle ressource.";
self::ajouterMessage($e);
}
return $retour;
}
 
private function delete() {
520,11 → 524,16
/**
* Termine l'accès au serveur après envoir envoyer les messages.
*/
private static function cloreAccesServeur() {
private static function cloreAccesServeur($retour) {
// Gestion des exceptions et erreurs générées par les services
self::gererErreurs();
$retour .= self::gererErreurs();
// Envoie des messages d'erreur et d'avertissement du serveur
self::envoyerMessages();
$retour .= self::envoyerMessages();
// Envoie sur la sortie standard le contenu de la réponse HTTP
print $retour;
// Nous terminons le script
exit(0);
}
543,7 → 552,9
* - Autre valeur : les messages sont formatés puis retournés par la fonction de débogage (à vous de les afficher).
*/
public static function gererErreurs() {
$retour = '';
if (self::$debogageActivation && GestionnaireException::getExceptionsNbre() > 0) {
$exceptionsTriees = GestionnaireException::getExceptionsTriees();
reset($exceptionsTriees);
$debogageSeulement = true;
556,9 → 567,9
foreach ($exceptionsTriees as $exceptions) {
foreach ($exceptions as $e) {
if ($debogageSeulement && self::$debogageMode == Debug::MODE_ENTETE_HTTP) {
$exceptionsFormatees[] = GestionnaireException::formaterExceptionTxt($e);
$exceptionsFormatees[] = GestionnaireException::formaterExceptionDebug($e);
} else {
echo GestionnaireException::formaterExceptionXhtml($e);
$retour = GestionnaireException::formaterExceptionXhtml($e);
}
}
}
567,6 → 578,7
header('X_REST_DEBOGAGE_MESSAGES: '.json_encode($exceptionsFormatees));
}
}
return $retour;
}
588,7 → 600,7
private static function envoyerMessages() {
if (count(self::$messages) > 0) {
header("Content-Type: text/plain; charset=utf-8");
print implode("\n", self::$messages);
return implode("\n", self::$messages);
}
}
}