File Coverage

blib/lib/Data/Riak/Fast/HTTP/Response.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Data::Riak::Fast::HTTP::Response;
2              
3 22     22   112 use Mouse;
  22         45  
  22         171  
4              
5 22     22   6317 use overload '""' => 'as_string', fallback => 1;
  22         47  
  22         221  
6              
7             my $_deconstruct_parts;
8              
9             has 'parts' => (
10             is => 'ro',
11             isa => 'ArrayRef[HTTP::Message]',
12             lazy => 1,
13             default => sub {
14             my $self = shift;
15             my @parts = $_deconstruct_parts->( $self->http_response );
16             return \@parts;
17             }
18             );
19              
20             has 'http_response' => (
21             is => 'ro',
22             isa => 'HTTP::Response',
23             required => 1,
24             handles => {
25             code => 'code',
26             status_code => 'code',
27             message => 'content',
28             value => 'content',
29             is_success => 'is_success',
30             is_error => 'is_error',
31             as_string => 'as_string',
32             header => 'header',
33             headers => 'headers'
34             }
35             );
36              
37             $_deconstruct_parts = sub {
38             my $message = shift;
39             return () unless $message->content;
40             my @parts = $message->parts;
41             return $message unless @parts;
42             return map { $_deconstruct_parts->( $_ ) } @parts;
43             };
44              
45             __PACKAGE__->meta->make_immutable;
46 22     22   6210 no Mouse;
  22         49  
  22         160  
47              
48             1;
49              
50             __END__