Use the new json2 module (from yaws)
[euphorik.git] / modules / erl / euphorik_requests.erl
index 3ec70f3..d01c908 100755 (executable)
@@ -15,7 +15,7 @@
 %\r
 % You should have received a copy of the GNU General Public License\r
 % along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.\r
-% \r
+%\r
 % Ce module est fait pour répondre à des requêtes JSON via 'AJAX'.\r
 % Il est définit comme 'appmods' pour l'url "request" dans Yaws.\r
 % Par exemple http://www.euphorik.ch/request abouti sur la fonction out/1 de ce module.\r
 \r
 -module(euphorik_requests).\r
 -export([out/1]).\r
--include_lib("yaws/include/yaws_api.hrl").\r
+-include_lib("yaws_api.hrl").\r
 -include("../include/euphorik_defines.hrl").\r
 \r
 \r
 % Point d'entrée pour les requêtes AJAX sur http://www.euphorik.ch/request.\r
-out(A) ->      \r
+out(A) ->\r
    IP = case inet:peername(A#arg.clisock) of\r
       {ok, {Adresse, _Port}} -> Adresse;\r
       _ -> inconnue\r
@@ -45,8 +45,9 @@ out(A) ->
 % Décode le message JSON.\r
 traiter_message(Contenu, IP) ->\r
    % extrait l'entête obligatoire des messages JSON\r
-   {ok, {struct, [{header, {struct, [{action, Action}, {version, Version_client}]}} | Reste]}} = json:decode_string(Contenu),\r
-   json:encode(\r
+   {ok, {struct, [{"header", {struct, [{"action", Action}, {"version", Version_client}]}} | Reste]}} = json2:decode_string(Contenu),\r
+\r
+   json2:encode(\r
       if Version_client =:= ?VERSION_PROTOCOLE ->\r
             traiter_action(Action, Reste, IP);\r
          true ->\r
@@ -55,7 +56,7 @@ traiter_message(Contenu, IP) ->
             )))\r
       end\r
    ).\r
-   \r
+\r
 \r
 % Authentification d'un client.\r
 traiter_action("authentification", JSON, IP) ->\r
@@ -93,4 +94,3 @@ traiter_action("list_banned_ips", JSON, _) ->
 % Un ekMaster débannie une ip.\r
 traiter_action("unban", JSON, _) ->\r
    euphorik_protocole:unban_ip(JSON).\r
\ No newline at end of file