Author: rhuijben
Date: Mon Mar  9 11:39:39 2015
New Revision: 1665195

URL: http://svn.apache.org/r1665195
Log:
In ra-serf: stop handling HTTP status 405 'Method forbidden' as a generic
out of date error. When locking this is the error we get when the resource
does not exist in HEAD, but in general it tells us that there is an
authorization problem.

As the lock code has its own http status handling now, we can change
the error reported from the generic error handling code path.

This should give users that accidentally use anonymous 'http' on a
server that uses 'https' for authorized operations a much better response,
than a simple out of date error (with the recommendation to update added
by their client).

Note that in most cases the detailed error response from the server
is used instead of this generic error code for just the HTTP status.

* subversion/libsvn_ra_serf/util.c
  (svn_ra_serf__error_on_status): Tweak generic error for http status 405.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/util.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/util.c?rev=1665195&r1=1665194&r2=1665195&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/util.c Mon Mar  9 11:39:39 2015
@@ -1762,8 +1762,8 @@ svn_ra_serf__error_on_status(serf_status
         return svn_error_createf(SVN_ERR_FS_NOT_FOUND, NULL,
                                  _("'%s' path not found"), path);
       case 405:
-        return svn_error_createf(SVN_ERR_FS_OUT_OF_DATE, NULL,
-                                 _("'%s' is out of date"), path);
+        return svn_error_createf(SVN_ERR_RA_DAV_FORBIDDEN, NULL,
+                                 _("HTTP method is not allowed on '%s'"), 
path);
       case 409:
         return svn_error_createf(SVN_ERR_FS_CONFLICT, NULL,
                                  _("'%s' conflicts"), path);


Reply via email to