couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Couchdb Wiki] Update of "Return a document's attachment from inside a vhost and/or redirect" by matiu
Date Tue, 14 Sep 2010 07:06:07 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Return a document's attachment from inside a vhost and/or redirect" page has been changed
by matiu.
The comment on this change is: how to serve document attachments from inside of vhosts and


New page:
= How to Return a document's attachment from inside a vhost and/or redirect =

When you're inside of a vhost with rewrites, people can't see the database documents, and
also can't see their attachents.

This was really annoying for me as all my product documents have images.

I first tried adding the ?with_attachments (or whatever it is) in a show function, but I thought,
whoa! I'm gonna load 5 images into memory (in base64 encoding no less) to just return one
.. that's a bit sucky.

So anyway, the docs say that rewrites are relative to _design/yourname .. but I checked the
source and for rewrites that start with '..' at least, they're relative to _design/yourname/_rewrite
(or whatever the rewrite thing is called) so to rewrite this rewrite rule works for me so
people can see the attachement:

    "from":   "/products/dvrs/:doc/:attachment",
    "to":     "../../:doc/:attachment",
    "method": "GET" 

I'm not sure if there are any security issues with serving attachments like this. Technically
someone might be able to put anything in :doc and anything in :attachment and they'd be getting
it basically from the database root. So I'm going to be putting in another rewrite rule/filter
on my nginx to stop them putting '_' in the names.

It'd be neat to have a rewrite customisable rewrite function or filter option.

View raw message