FIX de plein de truc, j'ai plus la force de regarder toutes les modifs (vive les...
[euphorik.git] / modules / erl / euphorik_requests.erl
index 524f735..28019da 100755 (executable)
 \r
 
 -module(euphorik_requests).\r
--export([\r
-   tester/0,\r
-   out/1\r
-]).\r
+-export([out/1]).\r
 -include_lib("xmerl/include/xmerl.hrl").\r
 -include_lib("yaws/include/yaws_api.hrl").
 
 \r
-% Test du module (TODO)\r
-tester() ->
-   que_dal.\r
-
-\r
 out(A) ->
    %io:format("~p~n", [A]), % utilisé parfois pendant le debug
    IP = case inet:peername(A#arg.clisock) of
       {ok, {Adresse, _Port}} -> Adresse;
       _ -> inconnue
    end,
-   % passive -> active, permet de recevoir {tcp_closed, _} lorsque le socket se ferme\r
-   inet:setopts(A#arg.clisock, [{active, true}]),\r
+   % passive -> active, permet de recevoir {tcp_closed, _} lorsque le socket se ferme
+   % keepalive -> true, evite que des firewalls coupe la connexion TCP sans prévenir\r
+   inet:setopts(A#arg.clisock, [{active, true}, {keepalive, true}]),\r
    {value, {_, Contenu}} = lists:keysearch("action", 1, yaws_api:parse_post(A)),\r
    Ret = traiter_donnees(Contenu, IP),
    {content, "application/json", Ret}.\r