File Coverage

blib/lib/Net/OAuth/Request.pm
Criterion Covered Total %
statement 30 30 100.0
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 2 0.0
total 40 44 90.9


line stmt bran cond sub pod time code
1             package Net::OAuth::Request;
2 10     10   139188 use warnings;
  10         19  
  10         671  
3 10     10   54 use strict;
  10         23  
  10         331  
4 10     10   63 use base qw/Net::OAuth::Message/;
  10         70  
  10         5854  
5 10     10   81 use URI;
  10         20  
  10         419  
6 10     10   101 use URI::QueryParam;
  10         18  
  10         299  
7              
8 10     10   52 use Net::OAuth;
  10         16  
  10         4010  
9             our $VERSION = '0.31';
10              
11             __PACKAGE__->mk_classdata(required_message_params => [qw/
12             consumer_key
13             signature_method
14             timestamp
15             nonce
16             /]);
17              
18             __PACKAGE__->mk_classdata(optional_message_params => [qw/
19             version
20             signature
21             /]);
22              
23             __PACKAGE__->mk_classdata(required_api_params => [qw/
24             request_method
25             request_url
26             consumer_secret
27             /]);
28              
29             __PACKAGE__->mk_classdata(optional_api_params => [qw/
30             signature_key
31             token_secret
32             extra_params
33             protocol_version
34             /]);
35              
36             __PACKAGE__->mk_classdata(signature_elements => [qw/
37             request_method
38             normalized_request_url
39             normalized_message_parameters
40             /]);
41              
42             __PACKAGE__->mk_classdata(all_message_params => [
43             @{__PACKAGE__->required_message_params},
44             @{__PACKAGE__->optional_message_params},
45             ]);
46              
47             __PACKAGE__->mk_classdata(all_api_params => [
48             @{__PACKAGE__->required_api_params},
49             @{__PACKAGE__->optional_api_params},
50             ]);
51              
52             __PACKAGE__->mk_classdata(all_params => [
53             @{__PACKAGE__->all_api_params},
54             @{__PACKAGE__->all_message_params},
55             ]);
56              
57             __PACKAGE__->mk_accessors(
58             @{__PACKAGE__->all_params},
59             );
60              
61             sub signature_key {
62 36     36 0 1544 my $self = shift;
63             # For some sig methods (I.e. RSA), users will pass in their own key
64 36         95 my $key = $self->get('signature_key');
65 36 50       263 unless (defined $key) {
66 36         156 $key = Net::OAuth::Message::encode($self->consumer_secret) . '&';
67 36 50       1075 $key .= Net::OAuth::Message::encode($self->token_secret) if $self->can('token_secret');
68             }
69 36         993 return $key;
70             }
71              
72             sub normalized_request_url {
73 32     32 0 901 my $self = shift;
74 32         102 my $url = $self->request_url;
75 32         378 Net::OAuth::Message::_ensure_uri_object($url);
76 32         37363 $url = $url->clone;
77 32         751 $url->query(undef);
78 32         684 return $url;
79             }
80              
81              
82             =head1 NAME
83              
84             Net::OAuth::Request - base class for OAuth requests
85              
86             =head1 SEE ALSO
87              
88             L<Net::OAuth>, L<http://oauth.net>
89              
90             =head1 AUTHOR
91              
92             Originally by Keith Grennan <kgrennan@cpan.org>
93              
94             Currently maintained by Robert Rothenberg <rrwo@cpan.org>
95              
96             =head1 COPYRIGHT & LICENSE
97              
98             Copyright 2007-2012, 2024-2025 Keith Grennan
99              
100             This program is free software; you can redistribute it and/or modify it
101             under the same terms as Perl itself.
102              
103             =cut
104              
105             1;