Commit 15cbccbc authored by Tom Evans's avatar Tom Evans Committed by tevans

OF-514: Fix BOSH terminate stanza

git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@13323 b35dd754-fafc-0310-a699-88a17e54d16e
parent 19d1b41e
...@@ -269,7 +269,7 @@ public class HttpBindServlet extends HttpServlet { ...@@ -269,7 +269,7 @@ public class HttpBindServlet extends HttpServlet {
if ("terminate".equals(type)) { if ("terminate".equals(type)) {
session.close(); session.close();
respond(session, request, response, createEmptyBody(), request.getMethod()); respond(session, request, response, createEmptyBody(true), request.getMethod());
} }
else if ("true".equals(restartStream) && rootNode.elements().size() == 0) { else if ("true".equals(restartStream) && rootNode.elements().size() == 0) {
try { try {
...@@ -281,7 +281,7 @@ public class HttpBindServlet extends HttpServlet { ...@@ -281,7 +281,7 @@ public class HttpBindServlet extends HttpServlet {
} }
else if (pauseDuration > 0 && pauseDuration <= session.getMaxPause()) { else if (pauseDuration > 0 && pauseDuration <= session.getMaxPause()) {
session.pause(pauseDuration); session.pause(pauseDuration);
respond(session, request, response, createEmptyBody(), request.getMethod()); respond(session, request, response, createEmptyBody(false), request.getMethod());
session.setLastResponseEmpty(true); session.setLastResponseEmpty(true);
} }
else { else {
...@@ -355,7 +355,7 @@ public class HttpBindServlet extends HttpServlet { ...@@ -355,7 +355,7 @@ public class HttpBindServlet extends HttpServlet {
content = connection.getResponse(); content = connection.getResponse();
} }
catch (HttpBindTimeoutException e) { catch (HttpBindTimeoutException e) {
content = createEmptyBody(); content = createEmptyBody(false);
connection.getSession().setLastResponseEmpty(true); connection.getSession().setLastResponseEmpty(true);
} }
...@@ -411,8 +411,9 @@ public class HttpBindServlet extends HttpServlet { ...@@ -411,8 +411,9 @@ public class HttpBindServlet extends HttpServlet {
} }
} }
private static String createEmptyBody() { private static String createEmptyBody(boolean terminate) {
Element body = DocumentHelper.createElement("body"); Element body = DocumentHelper.createElement("body");
if (terminate) { body.addAttribute("type", "terminate"); }
body.addNamespace("", "http://jabber.org/protocol/httpbind"); body.addNamespace("", "http://jabber.org/protocol/httpbind");
return body.asXML(); return body.asXML();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment