[cgiapp] cgi::application::dispatch doesn't handle start_mode

Ron Savage ron at savage.net.au
Fri Mar 11 01:47:30 EST 2011


Hi James

On Thu, 2011-03-10 at 20:15 -0800, James.Q.L wrote:
> --- On Sat, 3/5/11, Ron Savage <ron at savage.net.au> wrote:
> 
> > From: Ron Savage <ron at savage.net.au>
> > Subject: Re: [cgiapp] cgi::application::dispatch doesn't handle start_mode
> > To: "CGI Application" <cgiapp at lists.openlib.org>
> > Date: Saturday, March 5, 2011, 6:40 PM
> > Hi James
> > 
> > On Sat, 2011-03-05 at 01:25 -0800, James.Q.L wrote:
> > > Hi, 
> > > 
> > > It seems that C::A::D always sets the runmode to
> > $rm_HTTP_METHOD even when $rm is not set, which produces a
> > _HTTP_METHOD runmode. that' doesn't work when start_mode is
> > expected to be run. it is due to the following code in the
> > sub dispatch { } from CAD,
> > > 
> > >         if( $auto_rest )
> > {
> > >             my
> > $method_lc = defined $named_args->{auto_rest_lc} ?
> > $named_args->{auto_rest_lc} : $args{auto_rest_lc};
> > >             my
> > $http_method = $self->_http_method;
> > >         
> >    $http_method = lc $http_method if
> > $method_lc;
> > >         
> >    $rm .= "_$http_method";
> > >         }
> > > 
> > > I just had to change the first line to 
> > > 
> > > if( $auto_rest && $rm )
> > > 
> > > 
> > > doesn't anyone see this as a problem?
> > 
> > Is it possible that the problem is in your code (JS, Perl),
> > in that it
> > does not provide enough information for C::A::D to set the
> > run mode?
> > 
> 
> sorry for the late reply.

No problem.

> without auto_rest set, C::A::D works with no rm defined in the dispatch rule and set the rm to the startmode if it is set in the dispatched module. 
> 
> '/people/:people/:rm?' => { app => 'User' },
> 
> with auto_rest and no rm => in dispatch rule, as I said in my previous email, C::A::D sets the rm to $rm_HTTP_METHOD which becomes _GET _PUT etc... 

That's OK. I just wanted you (and me) to be sure.

I will look at it, but I don't maintain C::A::D. I do strongly recommend
its use, so I certainly like to know people can rely on it.

-- 
Ron Savage
http://savage.net.au/
Ph: 0421 920 622



More information about the cgiapp mailing list