Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kaimi-io/yandex-music-download.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaimi <lg.kaimi@gmail.com>2016-01-26 16:27:26 +0300
committerKaimi <lg.kaimi@gmail.com>2016-01-26 16:27:26 +0300
commit57d2a840a5a27923bd5deb1f0967106f888216b5 (patch)
tree0b2bcb26b4679008e14d4217f9ec9421bce141ad
parentaa1117a20800586b480b1e609beaf4d25f3a3c74 (diff)
Request logging
-rwxr-xr-xsrc/ya.pl32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/ya.pl b/src/ya.pl
index 784f174..fe2b90b 100755
--- a/src/ya.pl
+++ b/src/ya.pl
@@ -32,7 +32,8 @@ use constant
GENERIC_TITLE => 'Various Artists',
URL_ALBUM_REGEX => qr{music\.yandex\.\w+/album/(\d+)}is,
URL_TRACK_REGEX => qr{music\.yandex\.\w+/album/(\d+)/track/(\d+)}is,
- URL_PLAYLIST_REGEX => qr{music\.yandex\.\w+/users/(.+?)/playlists/(\d+)}is
+ URL_PLAYLIST_REGEX => qr{music\.yandex\.\w+/users/(.+?)/playlists/(\d+)}is,
+ RESPONSE_LOG_PREFIX => 'log_'
};
use constant
{
@@ -405,7 +406,8 @@ sub download_track
my $request = $ua->head($url);
if(!$request->is_success)
{
- info(DEBUG, 'HEAD request failed');
+ info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -416,7 +418,8 @@ sub download_track
$request = $ua->get($url, ':content_cb' => \&progress);
if(!$request->is_success)
{
- info(DEBUG, 'GET request failed in '.(caller(0))[3]);
+ info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -457,6 +460,7 @@ sub get_track_url
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -504,6 +508,7 @@ sub get_track_url
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -545,6 +550,7 @@ sub get_album_tracks_info
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -602,6 +608,7 @@ sub get_playlist_tracks_info
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -664,6 +671,7 @@ sub get_playlist_tracks_info
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
return;
}
@@ -813,6 +821,7 @@ sub fetch_album_cover
if(!$request->is_success)
{
info(DEBUG, 'Request failed');
+ log_response($request);
undef $mp3tags->{APIC};
return;
}
@@ -996,3 +1005,20 @@ sub read_file
return;
}
+
+sub log_response
+{
+ my $response = shift;
+
+ my $log_filename = RESPONSE_LOG_PREFIX . time;
+ if(open(my $fh, '>', $log_filename))
+ {
+ binmode $fh;
+ print $fh, $response->as_string;
+ close $fh;
+
+ info(DEBUG, 'Response stored at ' . $log_filename);
+ }
+
+ info(DEBUG, 'Failed to store response stored at ' . $log_filename);
+}