On Aug 16, 2010, at 11:52 AM, Klaus Trainer wrote: > Hey Chris, > > I guess there was a race condition while you processed Benoit's and my > patch in parallel. >
Now I'm confused... I guess I put the comment about your patch on the wrong ticket? Chris > Cheers, > Klaus > > > On Mon, 2010-08-16 at 13:17 -0400, Chris Anderson (JIRA) wrote: >> [ >> https://issues.apache.org/jira/browse/COUCHDB-855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898993#action_12898993 >> ] >> >> Chris Anderson commented on COUCHDB-855: >> ---------------------------------------- >> >> patch looks great! thanks so much. only change I'd suggest is removing this >> change: >> >> basicView : { >> map : stringFun(function(doc) { >> - emit(doc.integer, doc.string); >> + if (doc.integer && doc.string) >> + emit(doc.integer, doc.string); >> }) >> }, >> withReduce : { >> map : stringFun(function(doc) { >> - emit(doc.integer, doc.string); >> + if (doc.integer && doc.string) >> + emit(doc.integer, doc.string); >> }), >> >> >> I know these guard conditions are good practice, but in real life there are >> lots of "bad" views out there, so we should ensure the tests pass even >> without the guards. >> >>> New host manager >>> ---------------- >>> >>> Key: COUCHDB-855 >>> URL: https://issues.apache.org/jira/browse/COUCHDB-855 >>> Project: CouchDB >>> Issue Type: Improvement >>> Affects Versions: 1.1 >>> Reporter: Benoit Chesneau >>> Assignee: Benoit Chesneau >>> Fix For: 1.1 >>> >>> Attachments: >>> 0001-New-vhost-manager.-allows-dynamic-add-of-vhosts-with.patch >>> >>> >>> New vhost manager. allows dynamic add of vhosts without restart, wildcard >>> in vhost and specific functions in erlang by kind of domain. It also fix >>> issue in etap test (160) . >>> Find attached to this ticket the patch. It is also available in my github >>> repo : >>> http://github.com/benoitc/couchdb/commit/435c756cc6e687886cc7055302963f422cf0e161 >>> more details : >>> This gen_server keep state of vhosts added to the ini and try to >>> match the Host header (or forwarded) against rules built against >>> vhost list. >>> Declaration of vhosts take place in the configuration file : >>> [vhosts] >>> example.com = /example >>> *.example.com = /example >>> The first line will rewrite the rquest to display the content of the >>> example database. This rule works only if the Host header is >>> 'example.com' and won't work for CNAMEs. Second rule on the other hand >>> match all CNAMES to example db. So www.example.com or db.example.com >>> will work. >>> The wildcard ('*') should always be the last in the cnames: >>> "*.db.example.com = /" will match all cname on top of db >>> examples to the root of the machine. (for now no rewriting is >>> possible). >>> By default vhosts redirection is handle by the function >>> couch_httpd_vhost:redirect_to_vhost, but you could pass per vhost a >>> specific function : >>> "*.domain.com" = {Module, Func}" >>> The function take the Mochiweb Request object and should return a new >>> Mochiweb Request object. >>> You could also change the default function to handle request by >>> changing the setting `redirect_vhost_handler` in `httpd` section of >>> the Ini: >>> [httpd] >>> redirect_vhost_handler = {Module, Fun} >>> The function take 2 args : the mochiweb request object and the target >>> path. >> > >
