From: Badlop <badlop@process-one.net>
Date: Mon, 23 Nov 2009 15:21:05 +0000 (+0000)
Subject: Show informative webpage when browsing the HTTP-Poll page (EJAB-1106)
X-Git-Tag: v2.1.1~26
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58425ba45d37d5fd4d7ef03eaf33b2334bde91c4;p=ejabberd

Show informative webpage when browsing the HTTP-Poll page (EJAB-1106)

SVN Revision: 2751
---

diff --git a/src/web/ejabberd_http_poll.erl b/src/web/ejabberd_http_poll.erl
index 9a41fc362..66a7a314f 100644
--- a/src/web/ejabberd_http_poll.erl
+++ b/src/web/ejabberd_http_poll.erl
@@ -154,12 +154,32 @@ process([], #request{data = Data,
 		    end
 	    end;
 	_ ->
-	    {200, [?CT, {"Set-Cookie", "ID=-2:0; expires=-1"}], ""}
+	    HumanHTMLxmlel = get_human_html_xmlel(),
+	    {200, [?CT, {"Set-Cookie", "ID=-2:0; expires=-1"}], HumanHTMLxmlel}
     end;
 process(_, _Request) ->
     {400, [], {xmlelement, "h1", [],
 	       [{xmlcdata, "400 Bad Request"}]}}.
 
+%% Code copied from mod_http_bind.erl and customized
+get_human_html_xmlel() ->
+    Heading = "ejabberd " ++ atom_to_list(?MODULE),
+    {xmlelement, "html", [{"xmlns", "http://www.w3.org/1999/xhtml"}],
+     [{xmlelement, "head", [],
+       [{xmlelement, "title", [], [{xmlcdata, Heading}]}]},
+      {xmlelement, "body", [],
+       [{xmlelement, "h1", [], [{xmlcdata, Heading}]},
+        {xmlelement, "p", [],
+         [{xmlcdata, "An implementation of "},
+          {xmlelement, "a",
+	   [{"href", "http://xmpp.org/extensions/xep-0025.html"}],
+           [{xmlcdata, "Jabber HTTP Polling (XEP-0025)"}]}]},
+        {xmlelement, "p", [],
+         [{xmlcdata, "This web page is only informative. "
+	   "To use HTTP-Poll you need a Jabber/XMPP client that supports it."}
+	 ]}
+       ]}]}.
+
 %%%----------------------------------------------------------------------
 %%% Callback functions from gen_fsm
 %%%----------------------------------------------------------------------
diff --git a/src/web/mod_http_bind.erl b/src/web/mod_http_bind.erl
index 615642ce5..1e86d13da 100644
--- a/src/web/mod_http_bind.erl
+++ b/src/web/mod_http_bind.erl
@@ -69,7 +69,14 @@ process([], #request{method = 'POST',
     ejabberd_http_bind:process_request(Data, IP);
 process([], #request{method = 'GET',
                      data = []}) ->
-    Heading = "Ejabberd " ++ atom_to_list(?MODULE) ++ " v" ++ ?MOD_HTTP_BIND_VERSION,
+    get_human_html_xmlel();
+process(_Path, _Request) ->
+    ?DEBUG("Bad Request: ~p", [_Request]),
+    {400, [], {xmlelement, "h1", [],
+	       [{xmlcdata, "400 Bad Request"}]}}.
+
+get_human_html_xmlel() ->
+    Heading = "ejabberd " ++ atom_to_list(?MODULE) ++ " v" ++ ?MOD_HTTP_BIND_VERSION,
     {xmlelement, "html", [{"xmlns", "http://www.w3.org/1999/xhtml"}],
      [{xmlelement, "head", [],
        [{xmlelement, "title", [], [{xmlcdata, Heading}]}]},
@@ -77,14 +84,14 @@ process([], #request{method = 'GET',
        [{xmlelement, "h1", [], [{xmlcdata, Heading}]},
         {xmlelement, "p", [],
          [{xmlcdata, "An implementation of "},
-          {xmlelement, "a", [{"href", "http://www.xmpp.org/extensions/xep-0206.html"}],
-           [{xmlcdata, "XMPP over BOSH (XEP-0206)"}]}]}
-       ]}]};
-process(_Path, _Request) ->
-    ?DEBUG("Bad Request: ~p", [_Request]),
-    {400, [], {xmlelement, "h1", [],
-	       [{xmlcdata, "400 Bad Request"}]}}.
-
+          {xmlelement, "a",
+	   [{"href", "http://xmpp.org/extensions/xep-0206.html"}],
+           [{xmlcdata, "XMPP over BOSH (XEP-0206)"}]}]},
+        {xmlelement, "p", [],
+         [{xmlcdata, "This web page is only informative. "
+	   "To use HTTP-Bind you need a Jabber/XMPP client that supports it."}
+	 ]}
+       ]}]}.
 
 %%%----------------------------------------------------------------------
 %%% BEHAVIOUR CALLBACKS