On 20 Mar 2010, at 23:01, 7zark7 wrote: > Let me rephrase the question: > > Are there any CouchDB 0.10 mechanisms (views, show function, etc) which > allows me to serve a binary attachment that has one or more '/' characters in > the requested file id?
Yes :) > echo $COUCH http://127.0.0.1:5984 > curl -X PUT $COUCH/x {"ok":true} > curl -X PUT $COUCH/x/a -d '{"a":1}' {"ok":true,"id":"a","rev":"1-23202479633c2b380f79507a776743d5"} > curl -X PUT $COUCH/x/a/att/ach.txt?rev=1-23202479633c2b380f79507a776743d5 -d > 'hello' {"ok":true,"id":"a","rev":"2-04854b6987edbce4e4b3f07dd9b1caa5"} > curl -X GET $COUCH/x/a {"_id":"a","_rev":"2-04854b6987edbce4e4b3f07dd9b1caa5","a":1,"_attachments":{"att/ach.txt":{"content_type":"application/octet-stream","revpos":2,"length":0,"stub":true}}} curl -X GET $COUCH/x/a/att/ach.txt hello Cheers Jan -- > > I do not care about the url prefix or its length. In other words, these > prefixes are all acceptable: > > http://example.com:5984/some_db/{my file path here} > http://example.com:5984/some_db/_design/file/_show/{my file path here} > etc > > What I do care about is that a browser can directly request a binary file > such as "/scripts/main/common.js", without our having to go into hundreds of > HTML files to rename these file references to > "%2Fscripts%2Fmain%2Fcommon.js". Nor do I want an app server or Apache in > place simply to do a file name translation. > > > The specific value proposition that CouchDB offers in this case is that it > replaces: > > 1) Content distribution to multiple nodes in our network. > 2) Replaces an app server/Apache serving static content. > 3) It is highly concurrent. > > Does anyone have experience doing the above or similar? > > I can write a blog post if email is not conveying my question correctly. > > > Thanks > > > On 3/20/10 7:22 PM, John Merrells wrote: >> >> On Mar 20, 2010, at 4:44 PM, 7zark7 wrote: >> >>>> I do not want to have another webapp "in front" of Couch to translate a >>>> request for "/scripts/main.js" into "%2fscripts%2fmain.js/data", or >>>> "/a1b0e2349f53456/scripts/main.js", etc. >> >> How about serving the static content directly from the disk with a webserver >> like apache or nginx.... >> >> If you really want the content in couch, then you could do the url rewrite >> with >> some rules in the webserver config... >> >> Or use a reverse proxy like varnish.... or squid if you're feeling brave.... >> and >> then the content could be in couch for versioning, but served fast from the >> cache. >> >> John >> >
