On Thu, 30 Jun 2011, Mark Stosberg wrote:

> How would you recommend he use REST::Util here. His "diff" is only a few
> lines and does very little. See it here:
>
> https://github.com/tima/CGI--Application--Dispatch/commit/1e906a01f9470b3b15894e4c77e10c0e8468c86b
>

This bit:

             if($tunneling && $http_method eq 'POST') {
                 $rm = sub {
                     my $self = shift;
                     my $rest_method = $self->query->param('_method') ||
                     'POST';
                     $rest_method = lc $rest_method if $method_lc;
                     return $rm.'_'.$rest_method;
                 };
             } else {
                 $http_method = lc $http_method if $method_lc;
                 $rm .= "_$http_method";
             }

could be replaced by:

             if($tunneling && $http_method eq 'POST') {
                 my $rest_method = request_method($self->query);
                 $rest_method = lc $rest_method if $method_lc;
                 return $rm.'_'.$rest_method";
             } else {
                 $http_method = lc $http_method if $method_lc;
                 $rm .= "_$http_method";
             }
         }

This gets you a wider variety of tunneling behaviors.  (see the docs for 
request_method in REST::Utils)

The bigger win would be to enable C::A::Dispatch to dispatch based on MIME 
type but that would require a more invasive patch.

-- 
Jaldhar H. Vyas <jald...@braincells.com>

#####  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