summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-01-11 13:13:42 -0600
committerJesse Luehrs <doy@tozt.net>2011-01-11 13:13:54 -0600
commit7ec1f5b60fcd482d0dcb40385fda198b93ab1bc7 (patch)
tree2d4dd68ee328395453f49ed17ca0a79f1d3ba170
parent45930949ecfeb86af962eebe8fab0e46b418a9a2 (diff)
downloadplack-client-7ec1f5b60fcd482d0dcb40385fda198b93ab1bc7.tar.gz
plack-client-7ec1f5b60fcd482d0dcb40385fda198b93ab1bc7.zip
use croak instead of die
-rw-r--r--lib/Plack/Client.pm19
-rw-r--r--lib/Plack/Client/Backend/psgi_local.pm5
2 files changed, 15 insertions, 9 deletions
diff --git a/lib/Plack/Client.pm b/lib/Plack/Client.pm
index 6ac6c97..c72762a 100644
--- a/lib/Plack/Client.pm
+++ b/lib/Plack/Client.pm
@@ -3,6 +3,7 @@ use strict;
use warnings;
# ABSTRACT: abstract interface to remote web servers and local PSGI apps
+use Carp;
use Class::Load;
use HTTP::Message::PSGI;
use HTTP::Request;
@@ -80,7 +81,7 @@ sub new {
for my $scheme (keys %params) {
my $backend = $params{$scheme};
if (blessed($backend)) {
- die "Backends must support the app_from_request method"
+ croak "Backends must support the app_from_request method"
unless $backend->can('app_from_request');
$backends{$scheme} = $backend;
}
@@ -88,9 +89,9 @@ sub new {
(my $normal_scheme = $scheme) =~ s/-/_/g;
my $backend_class = "Plack::Client::Backend::$normal_scheme";
Class::Load::load_class($backend_class);
- die "Backends must support the app_from_request method"
+ croak "Backends must support the app_from_request method"
unless $backend_class->can('app_from_request');
- die "Backend classes must have a constructor"
+ croak "Backend classes must have a constructor"
unless $backend_class->can('new');
$backends{$scheme} = $backend_class->new(
reftype($backend) eq 'HASH' ? %$backend
@@ -99,7 +100,7 @@ sub new {
);
}
else {
- die 'XXX';
+ croak 'XXX';
}
}
@@ -175,7 +176,7 @@ sub _parse_request_args {
return $self->_request_from_plack_request(@_);
}
else {
- die 'Request object must be either an HTTP::Request or a Plack::Request';
+ croak 'Request object must be either an HTTP::Request or a Plack::Request';
}
}
elsif ((reftype($_[0]) || '') eq 'HASH') {
@@ -256,7 +257,7 @@ sub _app_from_request {
my $backend = $self->backend($scheme);
my $app = $backend->app_from_request($req);
- die "Couldn't find app" unless $app;
+ croak "Couldn't find app" unless $app;
return $app;
}
@@ -276,7 +277,11 @@ sub _resolve_response {
});
}
- use Data::Dumper; die Dumper($psgi_res) unless ref($psgi_res) eq 'ARRAY';
+ if (ref($psgi_res) ne 'ARRAY') {
+ require Data::Dumper;
+ croak "Unable to understand app response:\n"
+ . Data::Dumper::Dumper($psgi_res);
+ }
return $psgi_res;
}
diff --git a/lib/Plack/Client/Backend/psgi_local.pm b/lib/Plack/Client/Backend/psgi_local.pm
index 65a1c31..5b9eb4d 100644
--- a/lib/Plack/Client/Backend/psgi_local.pm
+++ b/lib/Plack/Client/Backend/psgi_local.pm
@@ -2,13 +2,14 @@ package Plack::Client::Backend::psgi_local;
use strict;
use warnings;
+use Carp;
use Plack::Middleware::ContentLength;
sub new {
my $class = shift;
my %params = @_;
- die 'apps must be a hashref'
+ croak 'apps must be a hashref'
if ref($params{apps}) ne 'HASH';
bless {
@@ -34,7 +35,7 @@ sub app_from_request {
$app_name =~ s/(.*):.*/$1/; # in case a port was added at some point
}
my $app = $self->app_for($app_name);
- die "Unknown app: $app_name" unless $app;
+ croak "Unknown app: $app_name" unless $app;
return Plack::Middleware::ContentLength->wrap($app);
}