1b80ffcebe7b33c572dcac2fdd67f00e4266d089
[cascardo/www-eztv.git] / lib / WWW / EZTV / UA.pm
1 package WWW::EZTV::UA;
2 use Moose::Role;
3 use Mojo::UserAgent;
4
5 # ABSTRACT: User agent for EZTV scrapper.
6
7 has ua  => ( is => 'ro', lazy => 1, default => sub { $EZTV::Global::UA || ($EZTV::Global::UA = Mojo::UserAgent->new) } );
8
9 =method get_response
10 =cut
11 sub get_response {
12     my ($self, $url) = (shift, shift);
13
14     my $tx = $self->ua->get( $url );
15     if ( my $res = $tx->success ) {
16         return $res;
17     }
18     else {
19         my ($err, $code) = $tx->error;
20         my $message = shift || 'User agent error';
21         confess sprintf('%s: %s (%s)', $message, $err, $code||'no error code');
22     }
23 }
24
25 1;