Author: ngn
Date: Sun Jul 25 14:56:24 2010
New Revision: 979044
URL: http://svn.apache.org/viewvc?rev=979044&view=rev
Log:
Send correct HTTP error response on non-BOSH methods
Modified:
mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/main/java/org/apache/vysper/xmpp/extension/xep0124/BoshServlet.java
Modified:
mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/main/java/org/apache/vysper/xmpp/extension/xep0124/BoshServlet.java
URL:
http://svn.apache.org/viewvc/mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/main/java/org/apache/vysper/xmpp/extension/xep0124/BoshServlet.java?rev=979044&r1=979043&r2=979044&view=diff
==============================================================================
---
mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/main/java/org/apache/vysper/xmpp/extension/xep0124/BoshServlet.java
(original)
+++
mina/vysper/trunk/server/extensions/xep0124-xep0206-bosh/src/main/java/org/apache/vysper/xmpp/extension/xep0124/BoshServlet.java
Sun Jul 25 14:56:24 2010
@@ -51,7 +51,7 @@ public class BoshServlet extends HttpSer
private static final String FLASH_CROSS_DOMAIN_POLICY_URI =
"/crossdomain.xml";
- private static final String INFO_GET = "This is an XMPP BOSH connection
manager, you need to use a compatible BOSH client to use its services!";
+ private static final String INFO_GET = "This is an XMPP BOSH connection
manager, only POST is allowed";
private static final String SERVER_IDENTIFICATION = "Vysper/0.5";
@@ -104,9 +104,7 @@ public class BoshServlet extends HttpSer
resp.setContentLength(flashCrossDomainPolicy.length);
resp.getOutputStream().write(flashCrossDomainPolicy);
} else {
- resp.setContentType(HTML_CONTENT_TYPE);
- resp.setContentLength(INFO_GET.length());
- resp.getWriter().println(INFO_GET);
+ resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED,
INFO_GET);
}
resp.flushBuffer();
}
@@ -140,6 +138,18 @@ public class BoshServlet extends HttpSer
logger.error("Exception thrown while decoding XML", e);
}
}
+
+
+
+ @Override
+ protected void doDelete(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
+ resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, INFO_GET);
+ }
+
+ @Override
+ protected void doPut(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
+ resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, INFO_GET);
+ }
private void writeResponse(HttpServletResponse resp, BoshResponse
respData) throws IOException {
resp.addDateHeader("Date", System.currentTimeMillis());