I'm using CGI::Application 4.20 with CGI::Application::Server 0.60 on Ubuntu Linux 'Intrepid'. I think there is a problem with the way C::A::S handles the query parameters but I wanted to get a second opinion before filing a bug.

Take a look at the small program below.


----CUT HERE----
#!/usr/bin/perl
use warnings;
use strict;
use CGI::Application::Server;

my $server = CGI::Application::Server->new();
my $app = TestBug->new();

$server->entry_points({
    '/one.cgi' => $app,
    '/two.cgi' =. 'TestBug',
});
$server->run;

package TestBug;
use base 'CGI::Application';
use warnings;
use strict;

sub setup {
    my ($self) = @_;
    $self->run_modes([qw/ start /]);
}

sub start {
    my ($self) = @_;
    my $q = $self->query;
    return join "\n",
        $q->start_html('test bug') .
        $q->h1($q->param('text')) .
        $q->end_html
    ;
}

1;
----CUT HERE----

If you run this and then go to http://localhost:8080/one.cgi?text=foo
it should say foo and it does.

If you then go to http://localhost:8080/one.cgi?text=bar
instead of saying bar it will still say foo. In fact it will keep outputting foo for any value of text until you restart the server. it seems the $self->query object does not get reinitalized between runs.

If you go to http://localhost:8080/two.cgi?text=foo etc. the output is what it should be.

Actually now that I've looked at it, I think the problem is actually in CGI::Application not ::Server. The query object is initialized in new() shouldn't this actually happen in run()?


--
Jaldhar H. Vyas <[EMAIL PROTECTED]>

#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to