Add playlist functions
This commit is contained in:
@@ -4,7 +4,10 @@ use strict;
|
||||
use warnings;
|
||||
|
||||
use Moose;
|
||||
with 'YTMusicAPI::Mixins::SearchMixin';
|
||||
|
||||
with
|
||||
'YTMusicAPI::Mixins::SearchMixin',
|
||||
'YTMusicAPI::Mixins::PlaylistMixin';
|
||||
|
||||
use JSON;
|
||||
use LWP::UserAgent;
|
||||
@@ -124,18 +127,18 @@ sub _send_request {
|
||||
$additionalParams //= "";
|
||||
|
||||
@$body{ keys %{ $self->{context} } } = values %{ $self->{context} };
|
||||
my $headers = $self->headers();
|
||||
|
||||
if ( $self->{_headers} and !exists $self->{_headers}{'X-Goog-Visitor-Id'} )
|
||||
{
|
||||
my $visitor_id = get_visitor_id( $self->{_send_get_request} );
|
||||
$self->{_headers}{'X-Goog-Visitor-Id'} = %$visitor_id;
|
||||
my $visitor_id = get_visitor_id( $self->_send_get_request(YTM_DOMAIN) );
|
||||
$self->{_headers}{'X-Goog-Visitor-Id'} = $visitor_id;
|
||||
}
|
||||
|
||||
$self->{_headers}{'Cookie'} = $self->{cookies};
|
||||
|
||||
my $request = HTTP::Request->new(
|
||||
POST => YTM_BASE_API . $url . $self->{params} . $additionalParams );
|
||||
my $headers = $self->headers();
|
||||
|
||||
foreach my $header_name ( keys %$headers ) {
|
||||
$request->header( $header_name => $headers->{$header_name} );
|
||||
@@ -155,11 +158,17 @@ sub _send_request {
|
||||
|
||||
sub _send_get_request {
|
||||
my ( $self, $url, $params ) = @_;
|
||||
$params //= "";
|
||||
|
||||
my $response =
|
||||
$self->{_session}
|
||||
->get( $url, $self->{_headers} ? $self->headers() : $self->base_headers(),
|
||||
);
|
||||
my $request = HTTP::Request->new( GET => $url . $params );
|
||||
my $headers = $self->{_headers} ? $self->headers() : $self->base_headers();
|
||||
$self->{_headers}{'Cookie'} = $self->{cookies};
|
||||
|
||||
foreach my $header_name ( keys %$headers ) {
|
||||
$request->header( $header_name => $headers->{$header_name} );
|
||||
}
|
||||
|
||||
my $response = $self->{_session}->request($request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user