File Coverage

blib/lib/WebService/Mattermost/Util/UserAgent.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 18 18 100.0


line stmt bran cond sub pod time code
1             package WebService::Mattermost::Util::UserAgent;
2              
3             # ABSTRACT: Internal user agent.
4              
5 9     9   150162 use Moo;
  9         6106  
  9         53  
6 9     9   9141 use Mojo::UserAgent;
  9         1871090  
  9         90  
7 9     9   1157 use Types::Standard qw(Bool InstanceOf Int);
  9         66900  
  9         118  
8              
9             ################################################################################
10              
11             has ua => (is => 'ro', isa => InstanceOf['Mojo::UserAgent'], lazy => 1, builder => 1);
12              
13             has inactivity_timeout => (is => 'ro', isa => Int, default => 15);
14             has max_redirects => (is => 'ro', isa => Int, default => 5);
15              
16             ################################################################################
17              
18             sub _build_ua {
19 17     17   26153     my $self = shift;
20              
21 17         240     my $ua = Mojo::UserAgent->new();
22              
23 17         227     $ua->max_redirects($self->max_redirects);
24 17         315     $ua->inactivity_timeout($self->inactivity_timeout);
25              
26 17         346     return $ua;
27             }
28              
29             ################################################################################
30              
31             1;
32              
33             __END__
34            
35             =pod
36            
37             =encoding UTF-8
38            
39             =head1 NAME
40            
41             WebService::Mattermost::Util::UserAgent - Internal user agent.
42            
43             =head1 VERSION
44            
45             version 0.26
46            
47             =head1 DESCRIPTION
48            
49             Adds standard parameters to C<Mojo::UserAgent>.
50            
51             =head2 ATTRIBUTES
52            
53             =over 4
54            
55             =item C<ua>
56            
57             A C<Mojo::Log> object.
58            
59             =item C<inactivity_timeout()>
60            
61             The default inactivity timeout (15 seconds).
62            
63             =item C<max_redirects()>
64            
65             The default maximum number of redirects (5).
66            
67             =back
68            
69             =head1 AUTHOR
70            
71             Mike Jones <mike@netsplit.org.uk>
72            
73             =head1 COPYRIGHT AND LICENSE
74            
75             This software is Copyright (c) 2020 by Mike Jones.
76            
77             This is free software, licensed under:
78            
79             The MIT (X11) License
80            
81             =cut
82