aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2009-02-23 05:25:10 +0000
committerAlexey Shchepin <alexey@process-one.net>2009-02-23 05:25:10 +0000
commitb6208955f32245c300bde65a86da2ef4db9dbe54 (patch)
tree22d49669abea02ee0912db2b533a79d39031610b /src
parentFix a minor compilation warning and add EDoc comment (diff)
* src/web/ejabberd_http.erl: Added a workaround for inet:peername
returning 'ebadf' SVN Revision: 1910
Diffstat (limited to 'src')
-rw-r--r--src/web/ejabberd_http.erl14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/web/ejabberd_http.erl b/src/web/ejabberd_http.erl
index d62d67dda..815e918a7 100644
--- a/src/web/ejabberd_http.erl
+++ b/src/web/ejabberd_http.erl
@@ -381,6 +381,13 @@ process_request(#state{request_method = Method,
request_headers = RequestHeaders,
request_handlers = RequestHandlers} = State)
when (Method=:='POST' orelse Method=:='PUT') andalso is_integer(Len) ->
+ {ok, IP} =
+ case SockMod of
+ gen_tcp ->
+ inet:peername(Socket);
+ _ ->
+ SockMod:peername(Socket)
+ end,
case SockMod of
gen_tcp ->
inet:setopts(Socket, [{packet, 0}]);
@@ -400,13 +407,6 @@ process_request(#state{request_method = Method,
LQ ->
LQ
end,
- {ok, IP} =
- case SockMod of
- gen_tcp ->
- inet:peername(Socket);
- _ ->
- SockMod:peername(Socket)
- end,
Request = #request{method = Method,
path = LPath,
q = LQuery,