aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-11-23 15:21:05 +0000
committerBadlop <badlop@process-one.net>2009-11-23 15:21:05 +0000
commit58425ba45d37d5fd4d7ef03eaf33b2334bde91c4 (patch)
treed62970b926b23b512d55dfc92eafcfba28ed6538 /src
parentChange captcha.sh to not depend on bash (thanks to Konstantin Khomoutov)(EJAB... (diff)
Show informative webpage when browsing the HTTP-Poll page (EJAB-1106)
SVN Revision: 2751
Diffstat (limited to 'src')
-rw-r--r--src/web/ejabberd_http_poll.erl22
-rw-r--r--src/web/mod_http_bind.erl25
2 files changed, 37 insertions, 10 deletions
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