]> granicus.if.org Git - ejabberd/commitdiff
Show informative webpage when browsing the HTTP-Poll page (EJAB-1106)
authorBadlop <badlop@process-one.net>
Mon, 23 Nov 2009 15:21:05 +0000 (15:21 +0000)
committerBadlop <badlop@process-one.net>
Mon, 23 Nov 2009 15:21:05 +0000 (15:21 +0000)
SVN Revision: 2751

src/web/ejabberd_http_poll.erl
src/web/mod_http_bind.erl

index 9a41fc3628b458c2602d26efb535f3b651a9fe3c..66a7a314f67672cc950e4ba40f9c059a3dc19dbe 100644 (file)
@@ -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
 %%%----------------------------------------------------------------------
index 615642ce58a3421be6dd48413b3662ea4f52a283..1e86d13da892ae05b27fb4d5465f1a097e7f4407 100644 (file)
@@ -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