+1

Pill, Juergen wrote:

Hello,

We want to suggest a sematical interface change within the WebDAV method
implementation of the client API (org.apache.webdav.lib.methods.xxxMethod).

Currently some of those methods do url-encoding (with utf-8) some do not.
The basis of those classes is the HttpClient which expects all URLs already
encoded, e.g. does no extra URL encoding.

We suggest implementing the same behavior (no extra URL encoding) in the
WebDAV API layer too.

Reasons:

   * consistency - if all the existing methods expect already encoded
     paths, then users will expect it to work this way.
   * preventing stupid bugs by users - imagine a case where a library
     user does a HeadMethod request (already encoded), and then
     discovers to their suprise that they cannot pass the exact same
     URL to PropFindMethod, but must _decode_ the URL before passing it.
   * import confusion - if you import the "GetMethod" from
     webdavclient, rather than from httpclient, it is impossible to
     tell except by looking back at your import statement whether the
     URL should be encoded or not.  I've tripped over this one.
   * full URLs vs. partial paths - With the 2.0 release of HttpClient,
     it is possible to pass either a full URLto a XxxMethod
     constructor, or to set the HostConfiguration on HttpClient and
     pass a server relative path to the XxxxMethod constructor.  I
     originally tripped over a problem because I was passing full URLs
     to the PropFindMethod(), only to discover that
     "http://localhost:8080/"; was getting converted to
     "http%3A//localhost%3A8080/" and then failing.


Please vote:


Modify the WebDAV client API in a way that no additional encoding is taking
place. The calling layer will (need to) do the necessary encoding.
[ ] +1.  I agree with the change.
[ ] +0.  I don't care.
[ ] -1.  I don't agree, because:

Best regards,

Juergen








--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to