On Mon, Mar 9, 2009 at 7:57 AM, Wout Mertens <[email protected]> wrote: > On Mar 7, 2009, at 7:05 PM, Chris Anderson wrote: > >> On Sat, Mar 7, 2009 at 12:49 AM, Wout Mertens <[email protected]> >> wrote: >>> >>> Hi all, >>> >>> I noticed the following discrepancy: When you try to request a design >>> document, and you encode the / as %2F, couchdb will redirect you to a URL >>> with %2f decoded to /, which works. >>> >> >>> _show/wiki/showpage/section/subsection/page >> >> The problem becomes distinguishing between documents and attachments. > > >> Docids are always urlencoded, with the exception of _design/ docids, >> which can be requested with the / unencoded (the redirect was put >> there to make that rule self-documenting.) > > Well IMHO that punishes libraries that try to do good things for the user, > now they have to special-case _design/ to avoid a network round-trip. I'd be > happier if both ways just worked. > >> Slashes in attachment names can also be used unencoded, so >> >> /db/wiki/showpage/section/subsection/page address the attachment named >> "showpage/section/subsection/page" on the document with id "wiki" > > Right. So in summary, the rule is either of these: > > 1. http://server/dbname/document/path/in/attachment > 2. http://server/dbname/_design/document
also 3. http://server/dbname/_design/document/with/attachment.ext Currently it's just _design that's special cased. The only other _ docs couchdb allows are _local and they are never seen by end users, so for now the _design case has worked. There's room to add a resource at /db/_design/ that lists all the design docs. > > where document is always url-encoded? If so I'll update the wiki. > (API_Cheatsheet and HTTP_Document_API) Thanks for the wiki-update offer. That'd be a big help! >> This was discussed intensively on this thread: >> http://www.mail-archive.com/[email protected]/msg00018.html > > I should have found that, sorry, I didn't think of search first :( Don't worry about it. -- Chris Anderson http://jchris.mfdz.com
