You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mi...@apache.org on 2020/04/29 12:59:37 UTC

[tomcat] branch master updated: Remove reason phrase on WebDAV Multi-Status (207) response

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

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c7dffa  Remove reason phrase on WebDAV Multi-Status (207) response
1c7dffa is described below

commit 1c7dffab075841bf7ea7fb802cc76a6ee99c03b0
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Wed Apr 29 14:38:52 2020 +0200

    Remove reason phrase on WebDAV Multi-Status (207) response
---
 .../apache/catalina/servlets/WebdavServlet.java    | 105 +--------------------
 webapps/docs/changelog.xml                         |   3 +
 2 files changed, 8 insertions(+), 100 deletions(-)

diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java b/java/org/apache/catalina/servlets/WebdavServlet.java
index 94b0df0..63d352e 100644
--- a/java/org/apache/catalina/servlets/WebdavServlet.java
+++ b/java/org/apache/catalina/servlets/WebdavServlet.java
@@ -784,9 +784,7 @@ public class WebdavServlet extends DefaultServlet {
             // Removing any lock-null resource which would be present
             lockNullResources.remove(path);
         } else {
-            resp.sendError(WebdavStatus.SC_CONFLICT,
-                           WebdavStatus.getStatusText
-                           (WebdavStatus.SC_CONFLICT));
+            resp.sendError(WebdavStatus.SC_CONFLICT);
         }
     }
 
@@ -1190,8 +1188,7 @@ public class WebdavServlet extends DefaultServlet {
                                 XMLWriter.OPENING);
                         generatedXML
                             .writeText("HTTP/1.1 " + WebdavStatus.SC_LOCKED
-                                       + " " + WebdavStatus
-                                       .getStatusText(WebdavStatus.SC_LOCKED));
+                                       + " ");
                         generatedXML.writeElement("D", "status",
                                 XMLWriter.CLOSING);
 
@@ -1942,8 +1939,7 @@ public class WebdavServlet extends DefaultServlet {
             generatedXML.writeText(absoluteUri + toAppend);
             generatedXML.writeElement("D", "href", XMLWriter.CLOSING);
             generatedXML.writeElement("D", "status", XMLWriter.OPENING);
-            generatedXML.writeText("HTTP/1.1 " + errorCode + " "
-                    + WebdavStatus.getStatusText(errorCode));
+            generatedXML.writeText("HTTP/1.1 " + errorCode + " ");
             generatedXML.writeElement("D", "status", XMLWriter.CLOSING);
 
             generatedXML.writeElement("D", "response", XMLWriter.CLOSING);
@@ -2048,8 +2044,7 @@ public class WebdavServlet extends DefaultServlet {
             String contentType, String eTag) {
 
         generatedXML.writeElement("D", "response", XMLWriter.OPENING);
-        String status = "HTTP/1.1 " + WebdavStatus.SC_OK + " " +
-                WebdavStatus.getStatusText(WebdavStatus.SC_OK);
+        String status = "HTTP/1.1 " + WebdavStatus.SC_OK + " ";
 
         // Generating href element
         generatedXML.writeElement("D", "href", XMLWriter.OPENING);
@@ -2244,8 +2239,7 @@ public class WebdavServlet extends DefaultServlet {
 
             if (propertiesNotFoundList.hasMoreElements()) {
 
-                status = "HTTP/1.1 " + WebdavStatus.SC_NOT_FOUND + " " +
-                        WebdavStatus.getStatusText(WebdavStatus.SC_NOT_FOUND);
+                status = "HTTP/1.1 " + WebdavStatus.SC_NOT_FOUND + " ";
 
                 generatedXML.writeElement("D", "propstat", XMLWriter.OPENING);
                 generatedXML.writeElement("D", "prop", XMLWriter.OPENING);
@@ -2529,19 +2523,6 @@ public class WebdavServlet extends DefaultServlet {
  */
 class WebdavStatus {
 
-
-    // ----------------------------------------------------- Instance Variables
-
-
-    /**
-     * This Hashtable contains the mapping of HTTP and WebDAV
-     * status codes to descriptive text.  This is a static
-     * variable.
-     */
-    private static final Hashtable<Integer,String> mapStatusCodes =
-            new Hashtable<>();
-
-
     // ------------------------------------------------------ HTTP Status Codes
 
 
@@ -2758,80 +2739,4 @@ class WebdavStatus {
      */
     public static final int SC_LOCKED = 423;
 
-
-    // ------------------------------------------------------------ Initializer
-
-
-    static {
-        // HTTP 1.0 status Code
-        addStatusCodeMap(SC_OK, "OK");
-        addStatusCodeMap(SC_CREATED, "Created");
-        addStatusCodeMap(SC_ACCEPTED, "Accepted");
-        addStatusCodeMap(SC_NO_CONTENT, "No Content");
-        addStatusCodeMap(SC_MOVED_PERMANENTLY, "Moved Permanently");
-        addStatusCodeMap(SC_MOVED_TEMPORARILY, "Moved Temporarily");
-        addStatusCodeMap(SC_NOT_MODIFIED, "Not Modified");
-        addStatusCodeMap(SC_BAD_REQUEST, "Bad Request");
-        addStatusCodeMap(SC_UNAUTHORIZED, "Unauthorized");
-        addStatusCodeMap(SC_FORBIDDEN, "Forbidden");
-        addStatusCodeMap(SC_NOT_FOUND, "Not Found");
-        addStatusCodeMap(SC_INTERNAL_SERVER_ERROR, "Internal Server Error");
-        addStatusCodeMap(SC_NOT_IMPLEMENTED, "Not Implemented");
-        addStatusCodeMap(SC_BAD_GATEWAY, "Bad Gateway");
-        addStatusCodeMap(SC_SERVICE_UNAVAILABLE, "Service Unavailable");
-        addStatusCodeMap(SC_CONTINUE, "Continue");
-        addStatusCodeMap(SC_METHOD_NOT_ALLOWED, "Method Not Allowed");
-        addStatusCodeMap(SC_CONFLICT, "Conflict");
-        addStatusCodeMap(SC_PRECONDITION_FAILED, "Precondition Failed");
-        addStatusCodeMap(SC_REQUEST_TOO_LONG, "Request Too Long");
-        addStatusCodeMap(SC_UNSUPPORTED_MEDIA_TYPE, "Unsupported Media Type");
-        // WebDav Status Codes
-        addStatusCodeMap(SC_MULTI_STATUS, "Multi-Status");
-        addStatusCodeMap(SC_UNPROCESSABLE_ENTITY, "Unprocessable Entity");
-        addStatusCodeMap(SC_INSUFFICIENT_SPACE_ON_RESOURCE,
-                         "Insufficient Space On Resource");
-        addStatusCodeMap(SC_METHOD_FAILURE, "Method Failure");
-        addStatusCodeMap(SC_LOCKED, "Locked");
-    }
-
-
-    // --------------------------------------------------------- Public Methods
-
-
-    /**
-     * Returns the HTTP status text for the HTTP or WebDav status code
-     * specified by looking it up in the static mapping.  This is a
-     * static function.
-     *
-     * @param   nHttpStatusCode [IN] HTTP or WebDAV status code
-     * @return  A string with a short descriptive phrase for the
-     *                  HTTP status code (e.g., "OK").
-     */
-    public static String getStatusText(int nHttpStatusCode) {
-        Integer intKey = Integer.valueOf(nHttpStatusCode);
-
-        if (!mapStatusCodes.containsKey(intKey)) {
-            return "";
-        } else {
-            return mapStatusCodes.get(intKey);
-        }
-    }
-
-
-    // -------------------------------------------------------- Private Methods
-
-
-    /**
-     * Adds a new status code -> status text mapping.  This is a static
-     * method because the mapping is a static variable.
-     *
-     * @param   nKey    [IN] HTTP or WebDAV status code
-     * @param   strVal  [IN] HTTP status text
-     */
-    private static void addStatusCodeMap(int nKey, String strVal) {
-        mapStatusCodes.put(Integer.valueOf(nKey), strVal);
-    }
-
 }
-
-
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index d404f38..eb7c435 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -106,6 +106,9 @@
         <bug>64386</bug>: WebdavServlet does not send "getlastmodified"
         property for resource collections. (michaelo)
       </add>
+      <update>
+        Remove reason phrase on WebDAV Multi-Status (207) response. (michaelo)
+      </update>
     </changelog>
   </subsection>
   <subsection name="Coyote">


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org