Using two versions of AjaxFileBrowser by ITHit (the latest, 2_6_2_2135, and another purchased last year), I'm trying to connect to SabreDAV (two different versions: 1.8.12 and 2.1.2) but can't upload any files. Viewing files and directories works fine, and I can upload files using the built-in SabreDAV client. Also, I can use Postman to PUT a file to the SabreDAV server endpoint.
It appears that a 404 error on uploading a file is stopping the process. But I thought that the client would handle 404 errors on uploads (as the file doesn't exist). I should note that uploading a file that already exists works, and the file is updated.
I've written the support email on a different issue, and was asked to write here. Any takers? Thanks...
We have examined the this issue as well as SabreDAV code. This issue is caused by en exception in SabreDAV which does not process If-Modified-Since header correctly for PUT request. Note that If-Modified-Since is a valid header for PUT request according to HTTP standard.
To my understanding the If-Modified-Since is attached to a PUT request by IT Hit Ajax File Browser because of a bug in Google Chrome and Safari that prevented upload to function properly after get GET request with If-Modified-Since header.
We have verified that the issue in WebKit with PUT upload was fixed and we can probably remove the If-Modified-Since header (we are still looking if this would not break any functionality). Instead, in the future versions, we will add the If-Match and If-Not-Modified-Since headers to prevent the concurrent updates of the file during upload and pause-continue cycles.