mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-20 16:15:59 +01:00
* src/web/ejabberd_http.erl: Increased receive buffer
* src/mod_irc/mod_irc_connection.erl: Support for "/quote" command SVN Revision: 224
This commit is contained in:
parent
b542249f11
commit
0ab31f0822
@ -1,3 +1,9 @@
|
||||
2004-04-17 Alexey Shchepin <alexey@sevcom.net>
|
||||
|
||||
* src/web/ejabberd_http.erl: Increased receive buffer
|
||||
|
||||
* src/mod_irc/mod_irc_connection.erl: Support for "/quote" command
|
||||
|
||||
2004-04-15 Alexey Shchepin <alexey@sevcom.net>
|
||||
|
||||
* src/ejabberd.erl: Added searching of files in code:priv_lib
|
||||
|
@ -234,20 +234,27 @@ handle_info({route_chan, Channel, Resource,
|
||||
StateData#state.myname, StateData#state.nick),
|
||||
StateData#state.user, El),
|
||||
Body = xml:get_path_s(El, [{elem, "body"}, cdata]),
|
||||
Body1 = case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format("PRIVMSG #~s :~s\r\n",
|
||||
[Channel, S])
|
||||
end, Strings)),
|
||||
?SEND(Res);
|
||||
case Body of
|
||||
"/quote " ++ Rest ->
|
||||
?SEND(Rest ++ "\r\n");
|
||||
_ ->
|
||||
Body1 =
|
||||
case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format(
|
||||
"PRIVMSG #~s :~s\r\n",
|
||||
[Channel, S])
|
||||
end, Strings)),
|
||||
?SEND(Res)
|
||||
end;
|
||||
Subject ->
|
||||
Strings = string:tokens(Subject, "\n"),
|
||||
Res = lists:concat(
|
||||
@ -260,20 +267,25 @@ handle_info({route_chan, Channel, Resource,
|
||||
end;
|
||||
"chat" ->
|
||||
Body = xml:get_path_s(El, [{elem, "body"}, cdata]),
|
||||
Body1 = case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format("PRIVMSG ~s :~s\r\n",
|
||||
[Resource, S])
|
||||
end, Strings)),
|
||||
?SEND(Res);
|
||||
case Body of
|
||||
"/quote " ++ Rest ->
|
||||
?SEND(Rest ++ "\r\n");
|
||||
_ ->
|
||||
Body1 = case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format("PRIVMSG ~s :~s\r\n",
|
||||
[Resource, S])
|
||||
end, Strings)),
|
||||
?SEND(Res)
|
||||
end;
|
||||
"error" ->
|
||||
stop;
|
||||
_ ->
|
||||
@ -330,20 +342,25 @@ handle_info({route_nick, Nick,
|
||||
case xml:get_attr_s("type", Attrs) of
|
||||
"chat" ->
|
||||
Body = xml:get_path_s(El, [{elem, "body"}, cdata]),
|
||||
Body1 = case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format("PRIVMSG ~s :~s\r\n",
|
||||
[Nick, S])
|
||||
end, Strings)),
|
||||
?SEND(Res);
|
||||
case Body of
|
||||
"/quote " ++ Rest ->
|
||||
?SEND(Rest ++ "\r\n");
|
||||
_ ->
|
||||
Body1 = case Body of
|
||||
[$/, $m, $e, $ | Rest] ->
|
||||
"\001ACTION " ++ Rest ++ "\001";
|
||||
_ ->
|
||||
Body
|
||||
end,
|
||||
Strings = string:tokens(Body1, "\n"),
|
||||
Res = lists:concat(
|
||||
lists:map(
|
||||
fun(S) ->
|
||||
io_lib:format("PRIVMSG ~s :~s\r\n",
|
||||
[Nick, S])
|
||||
end, Strings)),
|
||||
?SEND(Res)
|
||||
end;
|
||||
"error" ->
|
||||
stop;
|
||||
_ ->
|
||||
|
@ -40,9 +40,9 @@ start_link({SockMod, Socket}, Opts) ->
|
||||
?INFO_MSG("started: ~p", [{SockMod, Socket}]),
|
||||
case SockMod of
|
||||
gen_tcp ->
|
||||
inet:setopts(Socket, [{packet, http}]);
|
||||
inet:setopts(Socket, [{packet, http}, {recbuf, 8192}]);
|
||||
ssl ->
|
||||
ssl:setopts(Socket, [{packet, http}])
|
||||
ssl:setopts(Socket, [{packet, http}, {recbuf, 8192}])
|
||||
end,
|
||||
{ok, proc_lib:spawn_link(ejabberd_http,
|
||||
receive_headers,
|
||||
|
@ -77,19 +77,19 @@ process_request(#request{path = [],
|
||||
data = Data} = Request) ->
|
||||
case catch parse_request(Data) of
|
||||
{ok, ID1, Key, NewKey, Packet} ->
|
||||
ID = case ID1 of
|
||||
"0" ->
|
||||
NewID = sha:sha(term_to_binary({now(), make_ref()})),
|
||||
{ok, Pid} = start(NewID, ""),
|
||||
mnesia:transaction(
|
||||
fun() ->
|
||||
mnesia:write(#http_poll{id = NewID,
|
||||
pid = Pid})
|
||||
end),
|
||||
NewID;
|
||||
_ ->
|
||||
ID1
|
||||
end,
|
||||
ID = if
|
||||
(ID1 == "0") or (ID1 == "mobile") ->
|
||||
NewID = sha:sha(term_to_binary({now(), make_ref()})),
|
||||
{ok, Pid} = start(NewID, ""),
|
||||
mnesia:transaction(
|
||||
fun() ->
|
||||
mnesia:write(#http_poll{id = NewID,
|
||||
pid = Pid})
|
||||
end),
|
||||
NewID;
|
||||
true ->
|
||||
ID1
|
||||
end,
|
||||
case http_put(ID, Key, NewKey, Packet) of
|
||||
{error, not_exists} ->
|
||||
{200, ?BAD_REQUEST, ""};
|
||||
@ -106,6 +106,8 @@ process_request(#request{path = [],
|
||||
if
|
||||
ID == ID1 ->
|
||||
{200, [?CT], OutPacket};
|
||||
ID1 == "mobile" ->
|
||||
{200, [?CT], [ID, $\n, OutPacket]};
|
||||
true ->
|
||||
Cookie = "ID=" ++ ID ++ "; expires=-1",
|
||||
{200, [?CT, {"Set-Cookie", Cookie}],
|
||||
|
Loading…
Reference in New Issue
Block a user