[#6954] Why isn't Perl highly orthogonal? — Terrence Brannon <brannon@...>

27 messages 2000/12/09

[#7022] Re: Ruby in the US — Kevin Smith <kevinbsmith@...>

> Is it possible for the US to develop corporate

36 messages 2000/12/11
[#7633] Re: Ruby in the US — Dave Thomas <Dave@...> 2000/12/19

tonys@myspleenklug.on.ca (tony summerfelt) writes:

[#7636] Re: Ruby in the US — "Joseph McDonald" <joe@...> 2000/12/19

[#7704] Re: Ruby in the US — Jilani Khaldi <jilanik@...> 2000/12/19

> > first candidates would be mysql and postgressql because source is

[#7705] Code sample for improvement — Stephen White <steve@...> 2000/12/19

During an idle chat with someone on IRC, they presented some fairly

[#7750] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

Stephen White wrote:

[#7751] Re: Code sample for improvement — David Alan Black <dblack@...> 2000/12/20

Hello --

[#7755] Re: Code sample for improvement — "Guy N. Hurst" <gnhurst@...> 2000/12/20

David Alan Black wrote:

[#7758] Re: Code sample for improvement — Stephen White <steve@...> 2000/12/20

On Wed, 20 Dec 2000, Guy N. Hurst wrote:

[#7759] Next amusing problem: talking integers (was Re: Code sample for improvement) — David Alan Black <dblack@...> 2000/12/20

On Wed, 20 Dec 2000, Stephen White wrote:

[#7212] New User Survey: we need your opinions — Dave Thomas <Dave@...>

16 messages 2000/12/14

[#7330] A Java Developer's Wish List for Ruby — "Richard A.Schulman" <RichardASchulman@...>

I see Ruby as having a very bright future as a language to

22 messages 2000/12/15

[#7354] Ruby performance question — Eric Crampton <EricCrampton@...>

I'm parsing simple text lines which look like this:

21 messages 2000/12/15
[#7361] Re: Ruby performance question — Dave Thomas <Dave@...> 2000/12/15

Eric Crampton <EricCrampton@worldnet.att.net> writes:

[#7367] Re: Ruby performance question — David Alan Black <dblack@...> 2000/12/16

On Sat, 16 Dec 2000, Dave Thomas wrote:

[#7371] Re: Ruby performance question — "Joseph McDonald" <joe@...> 2000/12/16

[#7366] GUIs for Rubies — "Conrad Schneiker" <schneik@...>

Thought I'd switch the subject line to the subject at hand.

22 messages 2000/12/16

[#7416] Re: Ruby IDE (again) — Kevin Smith <kevins14@...>

>> >> I would contribute to this project, if it

17 messages 2000/12/16
[#7422] Re: Ruby IDE (again) — Holden Glova <dsafari@...> 2000/12/16

-----BEGIN PGP SIGNED MESSAGE-----

[#7582] New to Ruby — takaoueda@...

I have just started learning Ruby with the book of Thomas and Hunt. The

24 messages 2000/12/18

[#7604] Any corrections for Programming Ruby — Dave Thomas <Dave@...>

12 messages 2000/12/18

[#7737] strange border-case Numeric errors — "Brian F. Feldman" <green@...>

I haven't had a good enough chance to familiarize myself with the code in

19 messages 2000/12/20

[#7801] Is Ruby part of any standard GNU Linux distributions? — "Pete McBreen, McBreen.Consulting" <mcbreenp@...>

Anybody know what it would take to get Ruby into the standard GNU Linux

15 messages 2000/12/20

[#7938] Re: defined? problem? — Kevin Smith <sent@...>

matz@zetabits.com (Yukihiro Matsumoto) wrote:

26 messages 2000/12/22
[#7943] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

Kevin Smith <sent@qualitycode.com> writes:

[#7950] Re: defined? problem? — Stephen White <steve@...> 2000/12/22

On Fri, 22 Dec 2000, Dave Thomas wrote:

[#7951] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

On Fri, 22 Dec 2000, Stephen White wrote:

[#7954] Re: defined? problem? — Dave Thomas <Dave@...> 2000/12/22

David Alan Black <dblack@candle.superlink.net> writes:

[#7975] Re: defined? problem? — David Alan Black <dblack@...> 2000/12/22

Hello --

[#7971] Hash access method — Ted Meng <ted_meng@...>

Hi,

20 messages 2000/12/22

[#8030] Re: Basic hash question — ts <decoux@...>

>>>>> "B" == Ben Tilly <ben_tilly@hotmail.com> writes:

15 messages 2000/12/24
[#8033] Re: Basic hash question — "David A. Black" <dblack@...> 2000/12/24

On Sun, 24 Dec 2000, ts wrote:

[#8178] Inexplicable core dump — "Nathaniel Talbott" <ntalbott@...>

I have some code that looks like this:

12 messages 2000/12/28

[#8196] My first impression of Ruby. Lack of overloading? (long) — jmichel@... (Jean Michel)

Hello,

23 messages 2000/12/28

[#8198] Re: Ruby cron scheduler for NT available — "Conrad Schneiker" <schneik@...>

John Small wrote:

14 messages 2000/12/28

[#8287] Re: speedup of anagram finder — "SHULTZ,BARRY (HP-Israel,ex1)" <barry_shultz@...>

> -----Original Message-----

12 messages 2000/12/29

[ruby-talk:8374] Problem - CGI::Session (long)

From: "Guy N. Hurst" <gnhurst@...>
Date: 2000-12-30 21:40:03 UTC
List: ruby-talk #8374
ref: cgi/sessions.rb and p.508 of PR book

Problem: expect (as a built-in feature) to be able to 
specify that a new session to be created only if an 
existing one is not found, but seem to only be able to 
overwrite or prevent creation of sessions. 

Hi,

I use the sessions module for my cgi scripts, and still
have a problem regarding how it decides what to do about
a missing session key.

I would like every visitor to resume their session unless it is 
their first visit - in which case I would like to create a new 
session. But I don't know this until I check for an existing session.

When calling CGI::Session.new, if I do not specifically provide a 
session_id or do not specifically ask for a one to be created, 
then I would like the module to check for a session id from the cgi 
instance, and then from the cookies. If it still doesn't have one 
after all this, then I would like for it to create one - regardless
of whether new_session was specified.

The first problem is that if I specify new_session as true, it will 
create a new session *without* even checking the cgi instance or 
cookies. (And thus overwrite the existing session).
If I specify new_session as false, it prevents a new_session from 
being created (by raising an ArgumentError) if an id is not provided 
or not found in the cgi instance or cookies (which is surprising to me).
And if I specify new_session as nil, it still prevents a new session, 
as if false were specified. If I specify anything else, it treats it 
as true.

Yet, it will not raise the ArgumentError if 'new_session' is not
a key in the options hash at all - but will create a new session
anyway after not finding the session_key/_id anywhere else.

***relevant code from sessions.rb:
      session_key = option['session_key'] || '_session_id'
      id, = option['session_id']
      unless id
        if option['new_session']
          id = create_new_id
        end
      end
      unless id
        id, = request[session_key]
        unless id
          id, = request.cookies[session_key]
        end
        unless id
          if option.key?('new_session') and not option['new_session']
            raise ArgumentError, "session_key `%s' should be supplied"%session_key
          end
          id = create_new_id
        end
      end
***

So, the 'new_session' key seems to be ambiguous in meaning. If anything
besides false/nil, it forces a new session; if false/nil it prevents a 
new session; but if not listed, a new session is created if not found 
anywhere else.

But I cannot guarantee that the new_session key will or will not be
an entry in the options hash, and I would certainly like to
guarantee a new session in case I can't recover an existing one.

I temporarily solved my problem by commenting out the three lines
in cgi/sessions.rb that check for the option key and raise the 
ArgumentError.

But of course, upgrading to 1.6.2 broke all my scripts.

I know I can rescue the ArgumentError or keep patching the script every 
upgrade, but I don't think I should have to check for an error in such
a case - this seems to me like something that should be changed  ;-)

Maybe a new flag could be used (to avoid breaking existing scripts that rely
on this strange behavior), that would override 'new_session', and allow one
to distinguish between 'force'-ing a new session, 'prevent'-ing a new session,
and 'ensure'-ing a new session in case an existing one is not found?

Any ideas/comments? 


Guy N. Hurst

-- 
HurstLinks Web Development    http://www.hurstlinks.com/
Norfolk, VA  23510            (757)623-9688 FAX 623-0433
PHP/MySQL - Ruby/Perl - HTML/Javascript

In This Thread

Prev Next