Skip to content

Commit

Permalink
修改开启keep-alive时候的bug
Browse files Browse the repository at this point in the history
  • Loading branch information
memacs committed Dec 14, 2018
1 parent 084a381 commit 390eccd
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 28 deletions.
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ target/
Thumbs.db

backup/qchat
# deps/
deps/
ebin/
Makefile
config.status
Expand All @@ -37,6 +37,12 @@ vars.config
*#

*~

include/XmppAddr.hrl
src/XmppAddr.asn1db
src/XmppAddr.erl
src/eldap_filter_yecc.erl

# package ignore (optional)
# *.jar
# *.war
Expand Down
6 changes: 3 additions & 3 deletions src/http_muc_add_user.erl
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ handle(Req) ->
end.

do_handle(Req) ->
{ok, Body, _} = cowboy_req:body(Req),
{ok, Body, Req1} = cowboy_req:body(Req),
case rfc4627:decode(Body) of
{ok,{obj,Args},[]} ->
Res = add_muc_users(Args),
http_utils:cowboy_req_reply_json(Res, Req);
http_utils:cowboy_req_reply_json(Res, Req1);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req)
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req1)
end.

add_muc_users(Args) ->
Expand Down
6 changes: 3 additions & 3 deletions src/http_muc_create.erl
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ handle(Req) ->
end.

do_handle(Req)->
{ok, Body, _} = cowboy_req:body(Req),
{ok, Body, Req1} = cowboy_req:body(Req),
case rfc4627:decode(Body) of
{ok,{obj,Args},[]} ->
Res = create_muc(Args),
http_utils:cowboy_req_reply_json(Res, Req);
http_utils:cowboy_req_reply_json(Res, Req1);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req)
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req1)
end.

create_muc(Args) ->
Expand Down
6 changes: 3 additions & 3 deletions src/http_muc_del_user.erl
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ handle(Req) ->
end.

do_handle(Req)->
{ok, Body, _} = cowboy_req:body(Req),
{ok, Body, Req1} = cowboy_req:body(Req),
case rfc4627:decode(Body) of
{ok,{obj,Args},[]} ->
Res = del_muc_users(Args),
http_utils:cowboy_req_reply_json(Res, Req);
http_utils:cowboy_req_reply_json(Res, Req1);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req)
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req1)
end.

del_muc_users(Args) ->
Expand Down
6 changes: 3 additions & 3 deletions src/http_muc_destroy.erl
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ handle(Req) ->
end.

do_handle(Req)->
{ok, Body, _} = cowboy_req:body(Req),
{ok, Body, Req1} = cowboy_req:body(Req),
case rfc4627:decode(Body) of
{ok,{obj,Args},[]} ->
Res = destroy_muc(Args),
http_utils:cowboy_req_reply_json(Res, Req);
http_utils:cowboy_req_reply_json(Res, Req1);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req)
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1,<<"Json format error.">>), Req1)
end.

destroy_muc(Args) ->
Expand Down
38 changes: 23 additions & 15 deletions src/http_send_thirdmessage.erl
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,35 @@

handle(Req) ->
{Method, _} = cowboy_req:method(Req),
case Method of
case Method of
<<"POST">> ->
send_message(Req);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1, <<Method/binary, " is not disable">>), Req)
end.

send_message(Req)->
{ok, Body, _} = cowboy_req:body(Req),
{ok, Body, Req1} = cowboy_req:body(Req),
case rfc4627:decode(Body) of
{ok, {obj,Args},[]} ->
From = proplists:get_value("from",Args),
To = proplists:get_value("to",Args),
Message = proplists:get_value("message",Args),
JFrom = jlib:string_to_jid(From),
JTo = jlib:string_to_jid(To),
Packet = fxml_stream:parse_element(Message),
catch monitor_util:monitor_count(<<"rpc_thirdparty_chat_message">>,1),
catch qtalk_c2s:carbon_message(JFrom, JTo, Packet),
ejabberd_router:route(JFrom,JTo,Packet),
http_utils:cowboy_req_reply_json(http_utils:gen_success_result(), Req);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1, <<"Josn parse error">>), Req)
{ok, {obj,Args},[]} ->
do_send_messages([{obj, Args}]),
http_utils:cowboy_req_reply_json(http_utils:gen_success_result(), Req1);
{ok, Msgs, []} when is_list(Msgs) ->
do_send_messages(Msgs),
http_utils:cowboy_req_reply_json(http_utils:gen_success_result(), Req1);
_ ->
http_utils:cowboy_req_reply_json(http_utils:gen_fail_result(1, <<"Josn parse error">>), Req1)
end.

do_send_messages([]) -> ok;
do_send_messages([{obj, Args}|Rest]) ->
From = proplists:get_value("from",Args),
To = proplists:get_value("to",Args),
Message = proplists:get_value("message",Args),
JFrom = jlib:string_to_jid(From),
JTo = jlib:string_to_jid(To),
Packet = fxml_stream:parse_element(Message),
catch monitor_util:monitor_count(<<"rpc_thirdparty_chat_message">>,1),
catch qtalk_c2s:carbon_message(JFrom, JTo, Packet),
ejabberd_router:route(JFrom,JTo,Packet),
do_send_messages(Rest).

0 comments on commit 390eccd

Please sign in to comment.