I'll start studying the query_server_spec.rb script; I think I might be able to handle this in JavaScript...
On Sat, Sep 26, 2009 at 11:22 PM, Chris Anderson <[email protected]> wrote: > On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis <[email protected]> > wrote: >> its been awhile since i studied the Erlang side of this, but IIRC, >> once getRow() returns, the response has started which means that you >> can't send a redirect. To get it working proper then would require a >> bit of a patch to wait on starting the response until the first output >> from the _list function. >> > > Yes I think it would be a simple patch, once you understand the > entrails of the _list system. You should read the query_server_spec.rb > to see what gets sent by the query server on first getRow() call. > > It may be that this patch can be accomplished just in the javascript side. > > Chris > >> Paul Davis >> >> On Sat, Sep 26, 2009 at 11:39 PM, Zachary Zolton >> <[email protected]> wrote: >>> Hey guys, >>> >>> I need to find a way to do a redirect from a _list function after >>> calling the getRow() function. After looking at render.js for a while >>> I can't see how to solve this without at least adding to the API. >>> >>> Basically, I think that calling getRow() shouldn't cause the view >>> server to send the headers (or awaiting chunks) unless we've already >>> called send() or something like that. That way, we can return from the >>> _list function after iterating to the first row that should redirect. >>> (I'm not sure if this is a breaking change from the current semantics, >>> however...) >>> >>> Would greatly appreciate a little guidance on how to attack this! >>> >>> >>> Cheers, >>> >>> Zach >>> >>> >>> ---------- Forwarded message ---------- >>> From: Chris Anderson <[email protected]> >>> Date: Fri, Sep 25, 2009 at 2:15 PM >>> Subject: Re: Redirect from _list function? >>> To: Zachary Zolton <[email protected]> >>> >>> >>> On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton >>> <[email protected]> wrote: >>>> So, now I find that using the send() function to perform the redirect >>>> doesn't work after the first time I call getRow(). Upon checking out >>>> render.js, I see that the getRow() function calls sendStart()—which I >>>> haven't quite yet figured out—but I can tell there's something fishy >>>> going on there... >>>> >>>> Would I be correct to assume that the headers are already set after >>>> calling getRow()? >>> >>> Yes... The headers are sent when the first getRow is called. Fixing >>> this is definitely something I'd support. >>> >>>> >>>> On Fri, Sep 25, 2009 at 12:11 PM, Chris Anderson <[email protected]> wrote: >>>>> On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton >>>>> <[email protected]> wrote: >>>>>> Okay, I've update this section to differentiate between the 0.9 and >>>>>> 0.10 _list API: >>>>>> >>>>>> http://wiki.apache.org/couchdb/Formatting_with_Show_and_List#Sending_a_Redirect >>>>>> >>>>>> Now, I'm feeling that the Other Fun Things section could use a bit of >>>>>> love. Hmm... :^) >>>>> >>>>> Thanks for keeping the wiki in mind! >>>>> >>>>>> >>>>>> On Fri, Sep 25, 2009 at 10:19 AM, Zachary Zolton >>>>>> <[email protected]> wrote: >>>>>>> Sweet! I'll try to amend the wiki page for the _list API... >>>>>>> >>>>>>> On Fri, Sep 25, 2009 at 10:17 AM, Jason Davies <[email protected]> >>>>>>> wrote: >>>>>>>> On 25 Sep 2009, at 16:16, Zachary Zolton wrote: >>>>>>>> >>>>>>>>> Thanks for all the help, guys! Shall I delete that JIRA issue? >>>>>>>> >>>>>>>> >>>>>>>> I already did :-) >>>>>>>> >>>>>>>> -- >>>>>>>> Jason Davies >>>>>>>> >>>>>>>> www.jasondavies.com >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Chris Anderson >>>>> http://jchrisa.net >>>>> http://couch.io >>>>> >>>> >>> >>> >>> >>> -- >>> Chris Anderson >>> http://jchrisa.net >>> http://couch.io >>> >> > > > > -- > Chris Anderson > http://jchrisa.net > http://couch.io >
