<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/116122/">https://git.reviewboard.kde.org/r/116122/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On March 6th, 2014, 9:10 p.m. UTC, <b>Andrea Iacovitti</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I tested your patch, no trailing slash is added whether the request refers to a collection or resource (as it was before commit 58294ac).</pre>
</blockquote>
<p>On March 6th, 2014, 9:44 p.m. UTC, <b>Dawit Alemayehu</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Right, but now the webdav server should redirect to the right address (with trailing slash) and that redirect should succeed. I guess we can always add a trailing slash if there are servers that do not redirect or we want to avoid the redirect.</pre>
</blockquote>
<p>On March 6th, 2014, 10:53 p.m. UTC, <b>Andrea Iacovitti</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well, not mine, i get a 204 and the forlder successfully deleted.
</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well that is fine. If you try one of the test servers I listed above, you will see that deleting directory without a trailing slash results in a 302 response that redirects you to the same directory but with the trailing slash appended.
The problem before this patch was that redirection would have simply been ignored. That is because the code in DeleteJobPrivate::deleteNextSrc blindly calls KIO::rmdir even for http/webdav resources. And Since KIO::rmdir uses DeleteJob which inherits from SimpleJob, there is no support for redirection. You need TransferJob or its descendents if the protocol requires redirection support. Once we convert to properly call KIO::http_delete for HTTP based protocols, then it works as expected because we will be able to handle the redirection of the delete request.
Anyhow, all I was suggesting in my prior response above for us to optimize the directory deletion requests for the servers that require trailing slash. That way we avoid the additional redirection when requesting deletion from such servers without impacting those servers that do not care about the trailing slash.</pre>
<br />
<p>- Dawit</p>
<br />
<p>On March 5th, 2014, 2:01 p.m. UTC, Dawit Alemayehu wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kdelibs, Andrea Iacovitti and David Faure.</div>
<div>By Dawit Alemayehu.</div>
<p style="color: grey;"><i>Updated March 5, 2014, 2:01 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=331295">331295</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kdelibs
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch fixes a prior commit, http://commits.kde.org/kdelibs/58294ac, which attempted to workaround webdav servers that do not accept delete requests on directories unless there is a trailing slash. It ensures that the "fix" is only applicable to webdav and the addition of the trailing slash is communicated to the client application.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">For HTTP delete:
http://greenbytes.de/tech/tc/httpredirects/t301methods.html
For WebDAV delete:
http://boonfaya.com/sites/webdavapps.com/#targets</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kio/kio/deletejob.cpp <span style="color: grey">(b0268ef)</span></li>
<li>kioslave/http/http.cpp <span style="color: grey">(b4d64d4)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/116122/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>