summaryrefslogtreecommitdiff
path: root/lib/Net/HTTP/Console/Role/API.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/HTTP/Console/Role/API.pm')
-rw-r--r--lib/Net/HTTP/Console/Role/API.pm34
1 files changed, 22 insertions, 12 deletions
diff --git a/lib/Net/HTTP/Console/Role/API.pm b/lib/Net/HTTP/Console/Role/API.pm
index 0b99796..c6ea1f2 100644
--- a/lib/Net/HTTP/Console/Role/API.pm
+++ b/lib/Net/HTTP/Console/Role/API.pm
@@ -4,6 +4,8 @@ use MooseX::Declare;
role Net::HTTP::Console::Role::API {
+ use Try::Tiny;
+
has api_lib => (
isa => 'Str',
is => 'rw',
@@ -21,21 +23,29 @@ role Net::HTTP::Console::Role::API {
);
method load_api_lib($lib) {
- Class::MOP::load_class($lib);
- $self->api_lib($lib);
- my $o = $lib->new();
- $o->api_base_url($self->url) if $self->has_url;
- $o->api_format($self->format) if $self->has_format;
- $o->api_format_mode($self->format_mode) if $self->has_format_mode;
- $o;
+ try {
+ Class::MOP::load_class($lib);
+ $self->api_lib($lib);
+ my $o = $lib->new();
+ $o->api_base_url($self->url) if $self->has_url;
+ $o->api_format($self->format) if $self->has_format;
+ $o->api_format_mode($self->format_mode) if $self->has_format_mode;
+ $o;
+ }catch{
+ # XXX ERROR
+ }
}
method new_anonymous_method ($http_method, $path) {
- $self->api_object->meta->add_net_api_method(
- 'anonymous',
- method => $http_method,
- path => $path,
- );
+ try {
+ $self->api_object->meta->add_net_api_method(
+ 'anonymous',
+ method => $http_method,
+ path => $path,
+ );
+ }catch {
+ # XXX ERROR
+ }
}
}