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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
package RoutesTestClass;
use strict;
use warnings;
use lib 't/';
use base 'REST::Application::Routes';
sub foo { "foo" }
sub barMethod { shift; shift; return join(":", @_) }
sub GET { "xAbC" }
sub PUT { "xAbC" }
sub POST { "xAbC" }
sub DELETE { "xAbC" }
sub getRepresentation { "qWeRtY" }
sub preRun { shift->{preRun} = 1 }
sub postRun {
my ($self, $outputRef) = @_;
$self->{postRun} = $$outputRef
}
sub getMatchText {
my $self = shift;
if ($self->{TEST_TEXT}) {
return $self->{TEST_TEXT};
}
return $self->getPathInfo();
}
sub checkMatch {
my $self = shift;
my ($a, $b) = @_;
if ($self->{TEST_MATCH}) {
return ($a eq $b);
}
return $self->SUPER::checkMatch($a, $b);
}
sub preHandler {
my $self = shift;
my $args = shift;
return if not $self->{TEST_PRE};
shift @$args; # drop the ref to the REST::Application object
shift @$args; # drop the variable args
$self->{preHandler} = join(":", @$args);
}
sub postHandler {
my ($self, $outputRef, $args) = @_;
return if not $self->{TEST_POST};
shift @$args; # drop the ref to the REST::Application object
shift @$args; # drop the variable args
$self->{postHandler} = $$outputRef . join(":", @$args);
}
sub callHandler {
my $self = shift;
if (not $self->{TEST_CALL}) {
return $self->SUPER::callHandler(@_);
} elsif ($self->{TEST_CALL_ERROR}) {
my $handler = shift;
$handler->();
}
my ($handler, $v, @extraArgs) = @_;
return ref($handler) . join(":", @extraArgs);
}
1;
|