our
$VERSION
=
'0.31'
;
__PACKAGE__->mk_classdata(
required_message_params
=> [
qw/
consumer_key
signature_method
timestamp
nonce
/
]);
__PACKAGE__->mk_classdata(
optional_message_params
=> [
qw/
version
signature
/
]);
__PACKAGE__->mk_classdata(
required_api_params
=> [
qw/
request_method
request_url
consumer_secret
/
]);
__PACKAGE__->mk_classdata(
optional_api_params
=> [
qw/
signature_key
token_secret
extra_params
protocol_version
/
]);
__PACKAGE__->mk_classdata(
signature_elements
=> [
qw/
request_method
normalized_request_url
normalized_message_parameters
/
]);
__PACKAGE__->mk_classdata(
all_message_params
=> [
@{__PACKAGE__->required_message_params},
@{__PACKAGE__->optional_message_params},
]);
__PACKAGE__->mk_classdata(
all_api_params
=> [
@{__PACKAGE__->required_api_params},
@{__PACKAGE__->optional_api_params},
]);
__PACKAGE__->mk_classdata(
all_params
=> [
@{__PACKAGE__->all_api_params},
@{__PACKAGE__->all_message_params},
]);
__PACKAGE__->mk_accessors(
@{__PACKAGE__->all_params},
);
sub
signature_key {
my
$self
=
shift
;
my
$key
=
$self
->get(
'signature_key'
);
unless
(
defined
$key
) {
$key
= Net::OAuth::Message::encode(
$self
->consumer_secret) .
'&'
;
$key
.= Net::OAuth::Message::encode(
$self
->token_secret)
if
$self
->can(
'token_secret'
);
}
return
$key
;
}
sub
normalized_request_url {
my
$self
=
shift
;
my
$url
=
$self
->request_url;
Net::OAuth::Message::_ensure_uri_object(
$url
);
$url
=
$url
->clone;
$url
->query(
undef
);
return
$url
;
}
1;