Author: fmui
Date: Mon Jun 10 08:44:40 2013
New Revision: 1491375
URL: http://svn.apache.org/r1491375
Log:
CMIS-669: allow servers to return status code 401
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java?rev=1491375&r1=1491374&r2=1491375&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/CmisAtomPubServlet.java
Mon Jun 10 08:44:40 2013
@@ -65,6 +65,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisStorageException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisStreamNotSupportedException;
+import
org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisUpdateConflictException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisVersioningException;
import org.apache.chemistry.opencmis.commons.server.CallContext;
@@ -170,7 +171,10 @@ public class CmisAtomPubServlet extends
context = createContext(getServletContext(), qsRequest, response);
dispatch(context, qsRequest, response);
} catch (Exception e) {
- if (e instanceof CmisPermissionDeniedException) {
+ if (e instanceof CmisUnauthorizedException) {
+ response.setHeader("WWW-Authenticate", "Basic realm=\"CMIS\"");
+ response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
"Authorization Required");
+ } else if (e instanceof CmisPermissionDeniedException) {
if ((context == null) || (context.getUsername() == null)) {
response.setHeader("WWW-Authenticate", "Basic
realm=\"CMIS\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
"Authorization Required");
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java?rev=1491375&r1=1491374&r2=1491375&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/CmisBrowserBindingServlet.java
Mon Jun 10 08:44:40 2013
@@ -94,6 +94,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisStorageException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisStreamNotSupportedException;
+import
org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisUpdateConflictException;
import
org.apache.chemistry.opencmis.commons.exceptions.CmisVersioningException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
@@ -229,7 +230,10 @@ public class CmisBrowserBindingServlet e
context = createContext(getServletContext(), request, response);
dispatch(context, request, response);
} catch (Exception e) {
- if (e instanceof CmisPermissionDeniedException) {
+ if (e instanceof CmisUnauthorizedException) {
+ response.setHeader("WWW-Authenticate", "Basic realm=\"CMIS\"");
+ response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
"Authorization Required");
+ } else if (e instanceof CmisPermissionDeniedException) {
if (context == null || context.getUsername() == null) {
response.setHeader("WWW-Authenticate", "Basic
realm=\"CMIS\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
"Authorization Required");