File: Errors.pm

package info (click to toggle)
libcatalyst-engine-apache-perl 1.12-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 700 kB
  • ctags: 498
  • sloc: perl: 6,003; makefile: 45
file content (32 lines) | stat: -rw-r--r-- 594 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package Catalyst::Plugin::Test::Errors;

use strict;

sub error {
    my $c = shift;

    unless ( $_[0] ) {
        return $c->NEXT::error(@_);
    }

    if ( $_[0] =~ /^(Unknown resource|No default action defined)/ ) {
        $c->response->status(404);
    }
    
    if ( $_[0] =~ /^Couldn\'t forward/ ) {
        $c->response->status(404);
    }    

    if ( $_[0] =~ /^Caught exception/ ) {
        $c->response->status(500);
    }

    my $error = $_[0];
    $error =~ s/\n/, /g;

    $c->response->headers->push_header( 'X-Catalyst-Error' => $error );

    $c->NEXT::error(@_);
}

1;