mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-24 16:23:40 +01:00
* src/web/ejabberd_http.erl: Support PUT and DELETE methods in
ejabberd_http (thanks to Eric Cestari)(EJAB-662) SVN Revision: 1373
This commit is contained in:
parent
7a3069b68d
commit
b6fd0a5ca5
@ -1,6 +1,9 @@
|
||||
2008-06-21 Badlop <badlop@process-one.net>
|
||||
|
||||
* doc/guide.tex: Explain that S2S outgoing first tries IPV4 and if
|
||||
* src/web/ejabberd_http.erl: Support PUT and DELETE methods in
|
||||
ejabberd_http (thanks to Eric Cestari)(EJAB-662)
|
||||
|
||||
* doc/guide.tex: Explain that S2S outgoing first tries IPv4 and if
|
||||
that fails then tries IPv6
|
||||
* doc/guide.html: Likewise
|
||||
|
||||
|
@ -271,13 +271,14 @@ process(Handlers, Request) ->
|
||||
process(HandlersLeft, Request)
|
||||
end.
|
||||
|
||||
process_request(#state{request_method = 'GET',
|
||||
process_request(#state{request_method = Method,
|
||||
request_path = {abs_path, Path},
|
||||
request_auth = Auth,
|
||||
request_lang = Lang,
|
||||
request_handlers = RequestHandlers,
|
||||
sockmod = SockMod,
|
||||
socket = Socket} = State) ->
|
||||
socket = Socket} = State)
|
||||
when Method=:='GET' orelse Method=:='HEAD' orelse Method=:='DELETE' ->
|
||||
case (catch url_decode_q_split(Path)) of
|
||||
{'EXIT', _} ->
|
||||
process_request(false);
|
||||
@ -296,7 +297,7 @@ process_request(#state{request_method = 'GET',
|
||||
_ ->
|
||||
SockMod:peername(Socket)
|
||||
end,
|
||||
Request = #request{method = 'GET',
|
||||
Request = #request{method = Method,
|
||||
path = LPath,
|
||||
q = LQuery,
|
||||
auth = Auth,
|
||||
@ -319,7 +320,7 @@ process_request(#state{request_method = 'GET',
|
||||
end
|
||||
end;
|
||||
|
||||
process_request(#state{request_method = 'POST',
|
||||
process_request(#state{request_method = Method,
|
||||
request_path = {abs_path, Path},
|
||||
request_auth = Auth,
|
||||
request_content_length = Len,
|
||||
@ -327,7 +328,7 @@ process_request(#state{request_method = 'POST',
|
||||
sockmod = SockMod,
|
||||
socket = Socket,
|
||||
request_handlers = RequestHandlers} = State)
|
||||
when is_integer(Len) ->
|
||||
when (Method=:='POST' orelse Method=:='PUT') andalso is_integer(Len) ->
|
||||
case SockMod of
|
||||
gen_tcp ->
|
||||
inet:setopts(Socket, [{packet, 0}]);
|
||||
@ -347,7 +348,7 @@ process_request(#state{request_method = 'POST',
|
||||
LQ ->
|
||||
LQ
|
||||
end,
|
||||
Request = #request{method = 'POST',
|
||||
Request = #request{method = Method,
|
||||
path = LPath,
|
||||
q = LQuery,
|
||||
auth = Auth,
|
||||
|
Loading…
Reference in New Issue
Block a user