You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:51:25 UTC

[sling-org-apache-sling-jcr-webdav] 20/29: SLING-2443 - WWW-Authenticate header was missing on OPTIONS request on /

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.webdav-2.1.2
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-webdav.git

commit e6ce118f9a72b836f562678e290dfbca3ab2d684
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Mon Apr 2 13:28:31 2012 +0000

    SLING-2443 - WWW-Authenticate header was missing on OPTIONS request on /
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/webdav@1308347 13f79535-47bb-0310-9956-ffa450edef68
---
 .../jcr/webdav/impl/servlets/SlingWebDavServlet.java   | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/main/java/org/apache/sling/jcr/webdav/impl/servlets/SlingWebDavServlet.java b/src/main/java/org/apache/sling/jcr/webdav/impl/servlets/SlingWebDavServlet.java
index ccf7a38..2b97d9d 100644
--- a/src/main/java/org/apache/sling/jcr/webdav/impl/servlets/SlingWebDavServlet.java
+++ b/src/main/java/org/apache/sling/jcr/webdav/impl/servlets/SlingWebDavServlet.java
@@ -18,10 +18,13 @@
  */
 package org.apache.sling.jcr.webdav.impl.servlets;
 
+import java.io.IOException;
+
 import javax.jcr.Repository;
 import javax.jcr.Session;
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Properties;
@@ -35,7 +38,10 @@ import org.apache.jackrabbit.server.SessionProvider;
 import org.apache.jackrabbit.server.io.CopyMoveHandler;
 import org.apache.jackrabbit.server.io.IOHandler;
 import org.apache.jackrabbit.server.io.PropertyHandler;
+import org.apache.jackrabbit.webdav.DavException;
 import org.apache.jackrabbit.webdav.DavLocatorFactory;
+import org.apache.jackrabbit.webdav.WebdavRequest;
+import org.apache.jackrabbit.webdav.WebdavResponse;
 import org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet;
 import org.apache.sling.commons.mime.MimeTypeService;
 import org.apache.sling.jcr.api.SlingRepository;
@@ -267,4 +273,16 @@ public class SlingWebDavServlet extends SimpleWebdavServlet {
     public void unbindCopyMoveHandler(final ServiceReference copyMoveHandlerReference) {
         this.copyMoveManager.unbindCopyMoveHandler(copyMoveHandlerReference);
     }
+    
+    /** Overridden as the base class uses sendError that we don't want (SLING-2443) */
+    @Override
+    protected void sendUnauthorized(WebdavRequest request, WebdavResponse response, DavException error) throws IOException {
+        response.setHeader("WWW-Authenticate", getAuthenticateHeaderValue());
+        response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+        if (error != null) {
+            response.getWriter().write(error.getStatusPhrase());
+            response.getWriter().write("\n");
+        } 
+        response.getWriter().flush();
+    }
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.