Changeset 78577 in spip-zone for _plugins_/app/trunk


Ignore:
Timestamp:
Nov 17, 2013, 10:25:26 PM (7 years ago)
Author:
rastapopoulos@…
Message:

Suivre la nouvelle implémentation HTTP.

Location:
_plugins_/app/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/app/trunk/http/atom.php

    r54803 r78577  
    88 */
    99
    10 
    11 /*
    12  * GET sur la racine du serveur Atom
    13  * http://site/rest.api/atom
     10/**
     11 * Rien, car en Atom il n'y a malheureusement pas de gestion des erreurs pour l'instant
     12 *
     13 * @param int $code Le code HTTP de l'erreur à générer
     14 * @return string Retourne une chaîne vide
    1415 */
    15 function http_atom_get_index_dist(){
    16        
     16function http_atom_erreur_dist($code, $requete, $reponse){
     17        $reponse->setStatusCode($code);
     18        $reponse->setContent('');
     19        return $reponse;
    1720}
    1821
     
    2124 * http://site/rest.api/atom/patates
    2225 */
    23 function http_atom_get_collection_dist($collection){
     26function http_atom_get_collection_dist($requete, $reponse){
     27        $collection = $requete->attributes->get('collection');
     28        $contexte = $requete->query->all();
     29       
    2430        // Pour l'instant on va simplement chercher un squelette du nom de la collection
    2531        // Le squelette prend en contexte les paramètres du GET uniquement
    26         if ($flux = recuperer_fond("http/atom/$collection", $_GET)){
    27                 header('Status: 200 OK');
    28                 header("Content-type: application/atom+xml; charset=utf-8");
    29                 echo $flux;
    30                 exit;
     32        if ($flux = recuperer_fond("http/atom/$collection", $contexte)){
     33                $reponse->setStatusCode(200);
     34                $reponse->setCharset('utf-8');
     35                $reponse->headers->set('Content-Type', 'application/atom+xml');
     36                $reponse->setContent($flux);
    3137        }
    3238        // Si on ne trouve rien c'est que ça n'existe pas
    3339        else{
    34                 header('Status: 404 Not Found');
    35                 exit;
     40                $reponse->setStatusCode(404);
    3641        }
     42       
     43        return $reponse;
    3744}
    3845
     
    4148 * http://site/rest.api/atom/patates
    4249 */
    43 function http_atom_get_ressource_dist($collection, $ressource){
     50function http_atom_get_ressource_dist($requete, $reponse){
    4451        // Pour l'instant on va simplement chercher un squelette du nom de la ressource
    4552        // Le squelette prend en contexte les paramètres du GET + l'identifiant de la ressource en essayant de faire au mieux
    4653        include_spip('base/objets');
     54        $collection = $requete->attributes->get('collection');
     55        $ressource = $requete->attributes->get('ressource');
    4756        $cle = id_table_objet($collection);
    4857        $contexte = array(
     
    5059                'ressource' => $ressource,
    5160        );
    52         $contexte = array_merge($_GET, $contexte);
     61        $contexte = array_merge($requete->query->all(), $contexte);
    5362       
    5463        if ($flux = recuperer_fond("http/atom/$collection-ressource", $contexte)){
    55                 header('Status: 200 OK');
    56                 header("Content-type: application/atom+xml; charset=utf-8");
    57                 echo $flux;
    58                 exit;
     64                $reponse->setStatusCode(200);
     65                $reponse->setCharset('utf-8');
     66                $reponse->headers->set('Content-Type', 'application/atom+xml');
     67                $reponse->setContent($flux);
    5968        }
    6069        // Si on ne trouve rien c'est que ça n'existe pas
    6170        else{
    62                 header('Status: 404 Not Found');
    63                 exit;
     71                $reponse->setStatusCode(404);
    6472        }
     73       
     74        return $reponse;
    6575}
    6676
    67 ?>
  • _plugins_/app/trunk/paquet.xml

    r78574 r78577  
    22        prefix="app"
    33        categorie="outil"
    4         version="0.1.0"
     4        version="1.0.0"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.0.*]"
    77        logo="app.png"
    8         documentation="http://www.spip-contrib.net/?articleXXXX"
    98>
    109        <nom>Atom Publishing Protocol</nom>
     
    1615        <traduire module="paquet-app" reference="fr" gestionnaire="salvatore" />
    1716       
    18         <necessite nom="http" compatibilite="[0.1.0;0.1.*]" />
     17        <necessite nom="http" compatibilite="[1.0.0;]" />
    1918</paquet>
Note: See TracChangeset for help on using the changeset viewer.