From: <del...@us...> - 2009-03-29 19:06:39
|
Revision: 8782 http://exist.svn.sourceforge.net/exist/?rev=8782&view=rev Author: deliriumsky Date: 2009-03-29 19:06:28 +0000 (Sun, 29 Mar 2009) Log Message: ----------- [bugfix] Previously httpStatus was not preserved for XPathException responses. Merge of 8781 Modified Paths: -------------- branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java Property Changed: ---------------- branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java Modified: branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java =================================================================== --- branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java 2009-03-29 18:58:13 UTC (rev 8781) +++ branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java 2009-03-29 19:06:28 UTC (rev 8782) @@ -85,8 +85,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; @@ -310,11 +308,10 @@ wrap, cache, request, response); } catch (XPathException e) { - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); if (MimeType.XML_TYPE.getName().equals(mimeType)) { - writeXPathException(response, encoding, query, path, e); + writeXPathException(response, HttpServletResponse.SC_BAD_REQUEST, encoding, query, path, e); } else { - writeXPathExceptionHtml(response, encoding, query, path, e); + writeXPathExceptionHtml(response, HttpServletResponse.SC_BAD_REQUEST, encoding, query, path, e); } } return; @@ -429,11 +426,10 @@ } catch (XPathException e) { if (LOG.isDebugEnabled()) LOG.debug(e.getMessage(), e); - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); if (MimeType.XML_TYPE.getName().equals(mimeType)) { - writeXPathException(response, encoding, query, path, e); + writeXPathException(response, HttpServletResponse.SC_BAD_REQUEST, encoding, query, path, e); } else { - writeXPathExceptionHtml(response, encoding, query, + writeXPathExceptionHtml(response, HttpServletResponse.SC_BAD_REQUEST, encoding, query, path, e); } } @@ -574,12 +570,11 @@ outputProperties, servletPath.toString(), pathInfo.toString()); } catch (XPathException e) { - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); if (MimeType.XML_TYPE.getName().equals(mimeType)) { - writeXPathException(response, encoding, null, path, + writeXPathException(response, HttpServletResponse.SC_BAD_REQUEST, encoding, null, path, e); } else { - writeXPathExceptionHtml(response, encoding, null, + writeXPathExceptionHtml(response, HttpServletResponse.SC_BAD_REQUEST, encoding, null, path, e); } } @@ -693,13 +688,12 @@ outputProperties, enclose, cache, request, response); } catch (XPathException e) { - response.setStatus(HttpServletResponse.SC_ACCEPTED); result = e.getMessage(); if (MimeType.XML_TYPE.getName().equals(mimeType)) { - writeXPathException(response, encoding, null, path, + writeXPathException(response, HttpServletResponse.SC_ACCEPTED, encoding, null, path, e); } else { - writeXPathExceptionHtml(response, encoding, null, + writeXPathExceptionHtml(response, HttpServletResponse.SC_ACCEPTED, encoding, null, path, e); } } @@ -1297,13 +1291,15 @@ * @param e * */ - private void writeXPathExceptionHtml(HttpServletResponse response, + private void writeXPathExceptionHtml(HttpServletResponse response, int httpStatusCode, String encoding, String query, String path, XPathException e) throws IOException { if( !response.isCommitted() ) { response.reset(); } + + response.setStatus(httpStatusCode); response.setContentType(MimeType.HTML_TYPE.getName() + "; charset=" + encoding); @@ -1339,14 +1335,15 @@ * @param path * @param e */ - private void writeXPathException(HttpServletResponse response, - String encoding, String query, String path, XPathException e) + private void writeXPathException(HttpServletResponse response, int httpStatusCode, String encoding, String query, String path, XPathException e) throws IOException { if( !response.isCommitted() ) { response.reset(); } - + + response.setStatus(httpStatusCode); + response.setContentType(MimeType.XML_TYPE.getName() + "; charset=" + encoding); Property changes on: branches/adam/eXist-1.3-hlt/src/org/exist/http/RESTServer.java ___________________________________________________________________ Added: svn:mergeinfo + /trunk/eXist/src/org/exist/http/RESTServer.java:8762-8781 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |