Я пытаюсь познакомиться с эджаббердом и эрлангом ...
Первое, что я не хочу делать, это реализовать свой собственный набор вызовов REST для управления ejabberd с другого сервера.
например для этого запроса:
POST /custom/register HTTP/1.1
Host: some.server.com:8088
Cache-Control: no-cache
{"username":"user","host":"test.com","password":"pass1"}
Я хочу зарегистрировать нового пользователя Jabber, поэтому я создал этот модуль ejabberd:
-module(mod_test).
-author('').
-vsn('0.1').
-behavior(gen_mod).
-export([start/2, stop/1,process/2]).
%%
%% Includes
%%
%% base ejabberd headers
-include("ejabberd.hrl").
%% ejabberd compatibility functions
-include("jlib.hrl").
%% ejabberd HTTP headers
-include("web/ejabberd_http.hrl").
start(_Host, _Opts) ->
ok.
stop(_Host) ->
ok.
process(["register"], _Request) ->
Data = _Request#request.data,
{200,[],Data}.
И добавил прослушиватель http в ejabberd.cfg, я смог получить ответ, содержащий данные сообщения, НО, я не могу понять, как извлечь значения из данных.
например, я хочу, чтобы переменная Username получала значение ключа «username» («user») в данных POST.
Заранее спасибо, Матан.