From: Patrick M. <pt...@gm...> - 2013-11-10 18:39:53
|
I can't get cookies to set in Chrome or Firefox running on localhost or any other computer on my LAN. I'm trying to set the cookie using code in an <erl> block in the requested .yaws page. I've tried using the newer set_cookie/3 function as well as the older setcookie/6 functions with no success. The computer that's running yaws has a static LAN ip address (192.168.5.25). Some of the combinations I've tried included the following: /etc/hosts ------------- 127.0.0.1 localhost 192.168.5.25 local.host 127.0.0.1 T110 yaws_api:set_cookie ("foobar", "dummyvalue"). yaws_api:set_cookie ("foobar", "dummyvalue", [{domain, "localhost"}]). yaws_api:set_cookie ("foobar", "dummyvalue", [{domain, "local.host"}]). yaws_api:set_cookie ("foobar", "dummyvalue", [{domain, "127.0.0.1"}]). yaws_api:set_cookie ("foobar", "dummyvalue", [{domain, "192.168.5.25"}]). yaws_api:set_cookie ("foobar", "dummyvalue", [{domain, "T110"}]). None of the above, or other combinations I tried worked. I'm actually running Yaws in embedded mode using something similar to the ybed.erl example from the Yaws website; do I need to do anything specific in the SconfList record for this to work. At this point, I'm just randomly guessing. Does anyone know how I can get this to work? |
From: Claes W. <kl...@hy...> - 2013-11-12 06:50:14
|
On 10/11/13 19:39, Patrick Moy wrote: > I can't get cookies to set in Chrome or Firefox running on localhost or > any other computer on my LAN. I'm trying to set the cookie using code > in an <erl> block in the requested .yaws page. I've tried using the > newer set_cookie/3 function Hmmm, works for me is a really boring answer. I know. Maybe try to run wireshark and see what get's sent on the wire. Or turn on trace for yaws. $ yaws -i --tracehttp --traceout When running in embedded mode, I think these will be turned on if you give -yaws trace traffic -yaws trace http as args to _your_ app > None of the above, or other combinations I tried worked. I'm actually > running Yaws in embedded mode using something similar to the ybed.erl > example from the Yaws website; do I need to do anything specific in the > SconfList record for this to work. At this point, I'm just randomly > guessing. Does anyone know how I can get this to work? sconf settings, ... don't think so. Don't think that any of those settings should effect cookie settings Setting the sconfd, gconfs right is not so easy. One option I use when debugging this is the yaws --running-config which can be used to reverse engineer these settings Thanks /klacke |
From: Patrick M. <pt...@gm...> - 2013-11-12 16:20:41
|
Klacke, thanks for your reply. I got it working with Steve Vinoski's help. As it turns out, I was using set_cookie/3 incorrectly. Looking at the examples on the yaws website, I was under the impression that I just have to call the set_cookie function, and Yaws would automatically insert the resulting cookie tuple into my out/1 return value, so my erroneous code looks like this: yaws_api:set_cookie ("foo", "bar", []), [{status, 200}, {content, "text/html", Body}]. By changing code to this: C = yaws_api:set_cookie ("foo", "bar", []), [{status, 200}, {content, "text/html", Body}, C]. everything worked. Regards, Pat On Tue, Nov 12, 2013 at 1:50 AM, Claes Wikstrom <kl...@hy...> wrote: > On 10/11/13 19:39, Patrick Moy wrote: > > I can't get cookies to set in Chrome or Firefox running on localhost or > > any other computer on my LAN. I'm trying to set the cookie using code > > in an <erl> block in the requested .yaws page. I've tried using the > > newer set_cookie/3 function > > Hmmm, works for me is a really boring answer. I know. > Maybe try to run wireshark and see what get's sent on the wire. > > Or turn on trace for yaws. > > $ yaws -i --tracehttp --traceout > > When running in embedded mode, I think these will be turned on > if you give > > -yaws trace traffic -yaws trace http > > as args to _your_ app > > > > None of the above, or other combinations I tried worked. I'm actually > > running Yaws in embedded mode using something similar to the ybed.erl > > example from the Yaws website; do I need to do anything specific in the > > SconfList record for this to work. At this point, I'm just randomly > > guessing. Does anyone know how I can get this to work? > > sconf settings, ... don't think so. Don't think that any of those > settings should effect cookie settings > > Setting the sconfd, gconfs right is not so easy. One option I use > when debugging this is the > > yaws --running-config > > which can be used to reverse engineer these settings > > Thanks > > /klacke > > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. > Explore > techniques for threading, error checking, porting, and tuning. Get the most > from the latest Intel processors and coprocessors. See abstracts and > register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ > Erlyaws-list mailing list > Erl...@li... > https://lists.sourceforge.net/lists/listinfo/erlyaws-list > |
From: Steve V. <vi...@ie...> - 2013-11-12 17:48:25
|
On Tue, Nov 12, 2013 at 11:20 AM, Patrick Moy <pt...@gm...> wrote: > Klacke, thanks for your reply. > > I got it working with Steve Vinoski's help. As it turns out, I was using > set_cookie/3 incorrectly. Looking at the examples on the yaws website, I > was under the impression that I just have to call the set_cookie function, > and Yaws would automatically insert the resulting cookie tuple into my > out/1 return value, so my erroneous code looks like this: > > yaws_api:set_cookie ("foo", "bar", []), > [{status, 200}, {content, "text/html", Body}]. > > By changing code to this: > > C = yaws_api:set_cookie ("foo", "bar", []), > [{status, 200}, {content, "text/html", Body}, C]. > > everything worked. > > Regards, > Pat > I updated the documentation on master to 1) make the cookie examples use set_cookie instead of the deprecated setcookie functions, and 2) to try to clarify the aspect of the documentation that Patrick rightfully found confusing. --steve |