[Catalyst] How to print/display some data in an end action

Emmanuel Quevillon tuco at pasteur.fr
Wed Apr 30 10:51:04 BST 2008


I'd like to incorporate an action into an <object> tag that 
only prints some data (XML SVG).
I have an action in a controller Foo that do this :

sub display : Local : Args(1) {
     my $t = $object->display_graph();
     $c->detach('Foo', 'end', [$t]);

sub end : Private {
     my($self, $c) = @_;
     my $g = $c->req->args()->[0];
     print $g;

then in a template :

<object data="http://..../display/1"></object>

However, my output remains empty in my template.
If I directly call the 'display' action from my browser as :

http://.../display/1, it works ok although I get some extra 
code from Catalyst :

1HTTP/1.0 200 OK
Connection: close
Date: Wed, 30 Apr 2008 09:47:49 GMT
Status: 200
X-Catalyst: 5.7012

and so an xml error parsing reported.

So my questions are:

1: Do I do this the best way?
2: If so, how to avoid to print this extra code from catalyst?

Thanks in advance

Emmanuel Quevillon
Biological Software and Databases Group
Institut Pasteur
+33 1 44 38 95 98
tuco at_ pasteur dot fr

More information about the Catalyst mailing list