[cgiapp] cgi::application::dispatch doesn't handle start_mode
James.Q.L
shijialeee at yahoo.com
Thu Mar 10 23:15:52 EST 2011
--- 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.
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...
> --
> Ron Savage
> http://savage.net.au/
> Ph: 0421 920 622
>
James
More information about the cgiapp
mailing list