incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Anderson" <jch...@apache.org>
Subject Re: slash escaping (was 0.9.0 Release)
Date Sat, 27 Dec 2008 04:11:00 GMT
I've committed r729587 which reestablishes the allowance of '/' in
design doc paths (somehow Paul Davis's COUCHDB-49 was overridden in
the move to Erlang binary path parts.)

>
> /db/_design/name
> /db/_design/name/attachment.file
> /db/_design/name/attachment/with/slashes.file
>
>

r729587 also allows slashes in attachment paths. This change is
backwards compatible with the existing test suite. I've added a new
set of test cases to make sure we don't see a regression here.

> Rules for attachments on regular docs are the same as above:
>
> /db/docid
> /db/docid/attachment.file
> /db/docid/attachment/with/slashes.file
>

my only qualm about this code is that the old urlencoded slashes are
still valid. This means that eg, these four urls point to the same
attachment.

/db/_design/name/attachment/with/slashes.file
/db/_design/name/attachment%2Fwith%2Fslashes.file
/db/_design%2Fname/attachment/with/slashes.file
/db/_design%2Fname/attachment%2Fwith%2Fslashes.file

I've taken care to ensure that an attachment that is actually named
"foo%2Fbaz.txt" can still be accessed at /db/docid/foo%252Fbaz.txt so
I don't think there's any problems such as making particular
attachment names unusable.

This does nothing to address the restrictions on the character set of
database and design doc names. Antony's patch looks like it works as
advertised. If people are happy with the way it reorganizes couchdb
data files, then I don't see a reason not to apply it (especially with
the addition of a slug).


-- 
Chris Anderson
http://jchris.mfdz.com

Mime
View raw message