Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 31114 invoked from network); 15 Apr 2010 13:58:36 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 15 Apr 2010 13:58:36 -0000 Received: (qmail 12874 invoked by uid 500); 15 Apr 2010 13:58:36 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 12844 invoked by uid 500); 15 Apr 2010 13:58:36 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 12837 invoked by uid 99); 15 Apr 2010 13:58:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Apr 2010 13:58:35 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Apr 2010 13:58:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6EAF423888CC; Thu, 15 Apr 2010 13:58:12 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r934412 - /jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Date: Thu, 15 Apr 2010 13:58:12 -0000 To: commits@jackrabbit.apache.org From: angela@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100415135812.6EAF423888CC@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: angela Date: Thu Apr 15 13:58:12 2010 New Revision: 934412 URL: http://svn.apache.org/viewvc?rev=934412&view=rev Log: JCR-2607: AbstractWebdavServlet: add protected method sendUnauthorized Modified: jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Modified: jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java?rev=934412&r1=934411&r2=934412&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java (original) +++ jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/server/AbstractWebdavServlet.java Thu Apr 15 13:58:12 2010 @@ -201,8 +201,7 @@ abstract public class AbstractWebdavServ } catch (DavException e) { if (e.getErrorCode() == HttpServletResponse.SC_UNAUTHORIZED) { - webdavResponse.setHeader("WWW-Authenticate", getAuthenticateHeaderValue()); - webdavResponse.sendError(e.getErrorCode(), e.getStatusPhrase()); + sendUnauthorized(webdavRequest, webdavResponse, e); } else { webdavResponse.sendError(e); } @@ -212,6 +211,25 @@ abstract public class AbstractWebdavServ } /** + * Sets the "WWW-Authenticate" header and writes the appropriate error + * to the given webdav response. + * + * @param request The webdav request. + * @param response The webdav response. + * @param error The DavException that leads to the unauthorized response. + * @throws IOException + */ + protected void sendUnauthorized(WebdavRequest request, + WebdavResponse response, DavException error) throws IOException { + response.setHeader("WWW-Authenticate", getAuthenticateHeaderValue()); + if (error == null || error.getErrorCode() != HttpServletResponse.SC_UNAUTHORIZED) { + response.sendError(HttpServletResponse.SC_UNAUTHORIZED); + } else { + response.sendError(error.getErrorCode(), error.getStatusPhrase()); + } + } + + /** * Executes the respective method in the given webdav context * * @param request