File Coverage

blib/lib/WWW/ORCID/Transport/HTTP/Tiny.pm
Criterion Covered Total %
statement 15 16 93.7
branch n/a
condition n/a
subroutine 5 6 83.3
pod n/a
total 20 22 90.9


line stmt bran cond sub pod time code
1             package WWW::ORCID::Transport::HTTP::Tiny;
2              
3 1     1   67713 use strict;
  1         3  
  1         36  
4 1     1   6 use warnings;
  1         3  
  1         34  
5              
6             our $VERSION = 0.0401;
7              
8 1     1   299 use Moo;
  1         9205  
  1         5  
9 1     1   1892 use HTTP::Tiny;
  1         44297  
  1         57  
10 1     1   373 use namespace::clean;
  1         9380  
  1         7  
11              
12             with 'WWW::ORCID::Transport';
13              
14             has _client =>
15             (is => 'ro', init_arg => 0, lazy => 1, builder => '_build_client',);
16              
17             sub _build_client {
18 0     0     HTTP::Tiny->new;
19             }
20              
21             sub get {
22             my ($self, $url, $params, $headers) = @_;
23             if ($params) {
24             $url = $self->_param_url($url, $params);
25             }
26             my $res = $self->_client->get($url, {headers => $headers});
27             [$res->{status}, $res->{headers}, $res->{content}];
28             }
29              
30             sub post_form {
31             my ($self, $url, $form, $headers) = @_;
32             my $res = $self->_client->post_form($url, $form, {headers => $headers});
33             [$res->{status}, $res->{headers}, $res->{content}];
34             }
35              
36             sub post {
37             my ($self, $url, $body, $headers) = @_;
38             my $res
39             = $self->_client->post($url, {content => $body, headers => $headers});
40             [$res->{status}, $res->{headers}, $res->{content}];
41             }
42              
43             sub put {
44             die 'TODO';
45             }
46              
47             sub delete {
48             die 'TODO';
49             }
50              
51             1;