Julian Reschke updated JCR-4146:
    Attachment: JCR-4146-2.diff

similar to prev. patch, but avoids major version bump (using instanceof 
Abstract... instead)

> json extension is removed by AbstractWebdavServlet on COPY request
> ------------------------------------------------------------------
>                 Key: JCR-4146
>                 URL: https://issues.apache.org/jira/browse/JCR-4146
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-webdav
>    Affects Versions: 2.15.3
>            Reporter: Ana Vinatoru
>            Assignee: Julian Reschke
>         Attachments: JCR-4146-2.diff, JCR-4146.diff
> This issue was first observed via crxDE: the user did a copy / paste on a 
> node with the .json extension (let's say test.json). After saving, the new 
> node was named "Copy of test" instead of "Copy of test.json".
> I tracked the request to the AbstractWebdavServlet.doCopy method - and this 
> is where the .json extension seems to be lost.
> The Destination header sent by crxde includes the extension, but the new 
> resource created in doCopy does not have it.
> The request looked like this:
> {code:java}
> curl -u admin:admin 
> 'http://localhost:4502/crx/server/crx.default/jcr%3aroot/libs/test.json' -X 
> COPY -H 'Overwrite: T' -H 'Destination: 
> /crx/server/crx.default/jcr%3aroot/libs/Copy%20of%20test.json' -v
> {code}
> To rule out issues in other layers, I tested with the Jackrabbit 2.14.x 
> standalone.
> I uploaded the test.json file via WebDav, then executed the following curl 
> request:
> {code:java}
> curl -u admin:admin 'http://localhost:9001/server/default/jcr:root/test.json' 
> -X COPY -H 'Overwrite: T' -H 'Destination: 
> /server/default/jcr:root/copytest.json' -v
> {code}
> The new node was created, but instead of being named "copytest.json", it is 
> called "copytest".

This message was sent by Atlassian JIRA

Reply via email to