\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