File Coverage

blib/lib/URI/Fetch/Response.pm
Criterion Covered Total %
statement 32 32 100.0
branch 8 10 80.0
condition 2 3 66.6
subroutine 15 15 100.0
pod 11 12 91.6
total 68 72 94.4


line stmt bran cond sub pod time code
1             package URI::Fetch::Response;
2             $URI::Fetch::Response::VERSION = '0.13';
3 3     3   10 use strict;
  3         4  
  3         65  
4 3     3   8 use warnings;
  3         3  
  3         748  
5              
6             sub new {
7 20     20 0 42 my $class = shift;
8 20         60 my $feed = bless { }, $class;
9 20         49 $feed;
10             }
11              
12             sub _var {
13 253     253   257 my $feed = shift;
14 253         207 my $var = shift;
15 253 100       731 $feed->{$var} = shift if @_;
16 253         741 $feed->{$var};
17             }
18              
19 29     29 1 3481 sub status { shift->_var('status', @_) }
20 37     37 1 8345 sub http_status { shift->_var('http_status', @_) }
21 36     36 1 67 sub http_response { shift->_var('http_response', @_) }
22 28     28 1 334 sub etag { shift->_var('etag', @_) }
23 28     28 1 939 sub last_modified { shift->_var('last_modified', @_) }
24 23     23 1 138 sub uri { shift->_var('uri', @_) }
25 40     40 1 121 sub content { shift->_var('content', @_) }
26 32     32 1 634 sub content_type { shift->_var('content_type', @_) }
27              
28             sub is_success {
29 5     5 1 9 my $response = shift;
30 5 100       11 if ($response->http_response) {
31 4 100 66     10 return 1 if $response->http_response->code == 304
32             && defined($response->content);
33 3         7 return $response->http_response->is_success;
34             }
35 1         3 return 1;
36             }
37              
38             sub is_redirect {
39 1     1 1 2 my $response = shift;
40 1 50       2 return $response->http_response->is_redirect if $response->http_response;
41 1         4 return;
42             }
43              
44             sub is_error {
45 1     1 1 2 my $response = shift;
46 1 50       2 return $response->http_response->is_error if $response->http_response;
47 1         3 return;
48             }
49              
50             1;
51             __END__