Re: Redirect from _list function?
Guys, I've started a ticket for this: https://issues.apache.org/jira/browse/COUCHDB-514 I don't know what level of effort would be required to fix this, or if this is even compatible with the current view server protocol. I'm motivated to solve this, but I'd need some coaching from someone with more knowledge of CouchDB view server internals. Cheers, Zach On Sun, Sep 27, 2009 at 11:35 PM, Chris Anderson jch...@apache.org wrote: On Sun, Sep 27, 2009 at 8:26 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hmm... I can't do anything that doesn't result in a view server timeout. (^_-) Shall I open an issue? I can discuss what I tried, as well... It never hurts to start a ticket. Especially if you have patches. Thinking about it more, it seems like the Erlang side is gonna be looking for that start signal before it will send a row. We'll need to design a dont-start signal, so that it can get a row without sending headers. On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis paul.joseph.da...@gmail.com wrote: On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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 -- Chris Anderson http://jchrisa.net http://couch.io
Re: Redirect from _list function?
On Mon, Sep 28, 2009 at 11:34 AM, Zachary Zolton zachary.zol...@gmail.com wrote: Guys, I've started a ticket for this: https://issues.apache.org/jira/browse/COUCHDB-514 I don't know what level of effort would be required to fix this, or if this is even compatible with the current view server protocol. I'm motivated to solve this, but I'd need some coaching from someone with more knowledge of CouchDB view server internals. I'm into getting this to happen too. I barely have time, but I can advise. It wouldn't hurt to post a patch of what you tried, even if it didn;t work, as it will let other know which code you are digging into. Chris Cheers, Zach On Sun, Sep 27, 2009 at 11:35 PM, Chris Anderson jch...@apache.org wrote: On Sun, Sep 27, 2009 at 8:26 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hmm... I can't do anything that doesn't result in a view server timeout. (^_-) Shall I open an issue? I can discuss what I tried, as well... It never hurts to start a ticket. Especially if you have patches. Thinking about it more, it seems like the Erlang side is gonna be looking for that start signal before it will send a row. We'll need to design a dont-start signal, so that it can get a row without sending headers. On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis paul.joseph.da...@gmail.com wrote: On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
I've posted a patch from my experiments to the ticket. I'm thinking this'll require some Erlang-fu...? Try not to laugh! ;^) On Mon, Sep 28, 2009 at 1:59 PM, Chris Anderson jch...@apache.org wrote: On Mon, Sep 28, 2009 at 11:34 AM, Zachary Zolton zachary.zol...@gmail.com wrote: Guys, I've started a ticket for this: https://issues.apache.org/jira/browse/COUCHDB-514 I don't know what level of effort would be required to fix this, or if this is even compatible with the current view server protocol. I'm motivated to solve this, but I'd need some coaching from someone with more knowledge of CouchDB view server internals. I'm into getting this to happen too. I barely have time, but I can advise. It wouldn't hurt to post a patch of what you tried, even if it didn;t work, as it will let other know which code you are digging into. Chris Cheers, Zach On Sun, Sep 27, 2009 at 11:35 PM, Chris Anderson jch...@apache.org wrote: On Sun, Sep 27, 2009 at 8:26 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hmm... I can't do anything that doesn't result in a view server timeout. (^_-) Shall I open an issue? I can discuss what I tried, as well... It never hurts to start a ticket. Especially if you have patches. Thinking about it more, it seems like the Erlang side is gonna be looking for that start signal before it will send a row. We'll need to design a dont-start signal, so that it can get a row without sending headers. On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis paul.joseph.da...@gmail.com wrote: On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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
Re: Redirect from _list function?
Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
Hmm... I can't do anything that doesn't result in a view server timeout. (^_-) Shall I open an issue? I can discuss what I tried, as well... On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis paul.joseph.da...@gmail.com wrote: On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
On Sun, Sep 27, 2009 at 8:26 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hmm... I can't do anything that doesn't result in a view server timeout. (^_-) Shall I open an issue? I can discuss what I tried, as well... It never hurts to start a ticket. Especially if you have patches. Thinking about it more, it seems like the Erlang side is gonna be looking for that start signal before it will send a row. We'll need to design a dont-start signal, so that it can get a row without sending headers. On Sun, Sep 27, 2009 at 12:06 PM, Paul Davis paul.joseph.da...@gmail.com wrote: On Sun, Sep 27, 2009 at 1:04 PM, Zachary Zolton zachary.zol...@gmail.com wrote: Hey guys, newb question for you: the make script concatenates all the /share/server/*.js scripts into main.js, right? yepper. I'm still trying to figure this stuff out... On Sat, Sep 26, 2009 at 11:35 PM, Zachary Zolton zachary.zol...@gmail.com wrote: 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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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 -- Chris Anderson http://jchrisa.net http://couch.io
Fwd: Redirect from _list function?
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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
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. Paul Davis On Sat, Sep 26, 2009 at 11:39 PM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
Re: Redirect from _list function?
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 jch...@apache.org wrote: On Sat, Sep 26, 2009 at 8:57 PM, Paul Davis paul.joseph.da...@gmail.com 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 zachary.zol...@gmail.com 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 jch...@apache.org Date: Fri, Sep 25, 2009 at 2:15 PM Subject: Re: Redirect from _list function? To: Zachary Zolton zachary.zol...@gmail.com On Fri, Sep 25, 2009 at 11:01 AM, Zachary Zolton zachary.zol...@gmail.com 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 jch...@apache.org wrote: On Fri, Sep 25, 2009 at 8:40 AM, Zachary Zolton zachary.zol...@gmail.com 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 zachary.zol...@gmail.com 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 ja...@jasondavies.com 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
[jira] Created: (COUCHDB-513) Unable to redirect from _list function
Unable to redirect from _list function -- Key: COUCHDB-513 URL: https://issues.apache.org/jira/browse/COUCHDB-513 Project: CouchDB Issue Type: Bug Components: JavaScript View Server Affects Versions: 0.11 Environment: Mac OS X 10.5.8, Erlang OTP/R12B, CouchDB/0.11.0a9fd42dc1 Reporter: Zachary Zolton Priority: Minor Define this _list function: function(head, req) { return { 'code': 301, 'headers': { 'Location': 'http://www.google.com/' } }; } Try to curl it: $ curl -i 'http://localhost:5984/db/_design/ddoc/_list/test-redirect/some-view?key=%22foo%22' HTTP/1.1 200 OK Vary: Accept Transfer-Encoding: chunked Server: CouchDB/0.11.0a9fd42dc1-git (Erlang OTP/R12B) Etag: 46014W5JDRLKZF5SECP2D44YH Date: Thu, 24 Sep 2009 22:23:14 GMT Content-Type: application/json curl: (56) Received problem 2 in the chunky parser Here is Jan's take on the user mailing list: http://mail-archives.apache.org/mod_mbox/couchdb-user/200909.mbox/%3c6678e46d-a113-4052-9f44-e061582d2...@apache.org%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (COUCHDB-513) Unable to redirect from _list function
[ https://issues.apache.org/jira/browse/COUCHDB-513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Davies closed COUCHDB-513. Resolution: Invalid To send headers you need to use the start() function for _list, e.g. function(head, req) { start({code:301, headers: { 'Location': 'http://www.google.com/' }}); } Unable to redirect from _list function -- Key: COUCHDB-513 URL: https://issues.apache.org/jira/browse/COUCHDB-513 Project: CouchDB Issue Type: Bug Components: JavaScript View Server Affects Versions: 0.11 Environment: Mac OS X 10.5.8, Erlang OTP/R12B, CouchDB/0.11.0a9fd42dc1 Reporter: Zachary Zolton Priority: Minor Define this _list function: function(head, req) { return { 'code': 301, 'headers': { 'Location': 'http://www.google.com/' } }; } Try to curl it: $ curl -i 'http://localhost:5984/db/_design/ddoc/_list/test-redirect/some-view?key=%22foo%22' HTTP/1.1 200 OK Vary: Accept Transfer-Encoding: chunked Server: CouchDB/0.11.0a9fd42dc1-git (Erlang OTP/R12B) Etag: 46014W5JDRLKZF5SECP2D44YH Date: Thu, 24 Sep 2009 22:23:14 GMT Content-Type: application/json curl: (56) Received problem 2 in the chunky parser Here is Jan's take on the user mailing list: http://mail-archives.apache.org/mod_mbox/couchdb-user/200909.mbox/%3c6678e46d-a113-4052-9f44-e061582d2...@apache.org%3e -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.