[Catalyst] JSONP support Catalyst::Controller::DBIC::API

Rajesh Kumar Mallah mallah at redgrape.tech
Thu Mar 9 10:05:34 GMT 2017





For the time being i have modified and solved my issue as below:

sub end : Private {
     my ( $self, $c ) = @_;

     ##
     # code for manipulating stash here
     ##

     $c->forward('serialize');

     my $cb = $c->request->params->{callback} ;

     if ($cb) {
	my $body = \$c->res->body;
	$$body = "$cb ($$body);";
	$c->res->body($$body);
     }

}


regds
mallah.


> Hi ,
>
> How to get JSON response body wrapped in a callback function
> call (a.k.a JSONP) when using Catalyst::Controller::DBIC::API::REST
>
> I use Catalyst::Controller::DBIC::API and 'end' function
> in ControllerBase is like below:
>
> sub end : Private {
>     my ( $self, $c ) = @_;
>
>     ##
>      # code for manipulating stash here
>     ##
>
>     $c->forward('serialize');
> }
>
> =============================================
> In   Catalyst/Controller/DBIC/API.pm
>
> # from Catalyst::Action::Serialize
> sub serialize : ActionClass('Serialize') { }
>
> =============================================
>
>
> My other JSON responses which are rendered via MyApp::View::JSON
> can be modified as JSONP compatible as i have below in my App config
>
> __PACKAGE__->config({
>       'View::JSON' => {
>           allow_callback  => 1,    # defaults to 0
>       },
> });
>
>
> ===============================================
>
>
> The problem is only with automatically generated rest endpoints
> from  Catalyst::Controller::DBIC::API.
>
> Thanks in anticipation.
>
>
> Regds
> mallah.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







More information about the Catalyst mailing list