new test suit
[catagits/Catalyst-Runtime.git] / t / lib / Catalyst / Plugin / Test / Headers.pm
1 package Catalyst::Plugin::Test::Headers;
2
3 use strict;
4
5 sub prepare {
6     my $class = shift;
7
8     my $c = $class->NEXT::prepare(@_);
9
10     $c->response->header( 'X-Catalyst-Engine' => $c->engine );
11     $c->response->header( 'X-Catalyst-Debug' => $c->debug ? 1 : 0 );
12     
13     {
14         my @components = sort keys %{ $c->components };
15         $c->response->headers->push_header( 'X-Catalyst-Components' => [ @components ] );
16     }
17
18     {
19         no strict 'refs';
20         my @plugins = sort grep { m/^Catalyst::Plugin/ } @{ $class . '::ISA' };
21         $c->response->headers->push_header( 'X-Catalyst-Plugins' => [ @plugins ] );
22     }
23
24     return $c;
25 }
26
27 sub prepare_action {
28     my $c = shift;
29     $c->NEXT::prepare_action(@_);
30     $c->res->header( 'X-Catalyst-Action' => $c->req->action );
31 }
32
33 1;