aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortrizen <trizen@protonmail.com>2020-02-26 13:50:43 +0200
committertrizen <trizen@protonmail.com>2020-02-26 13:50:43 +0200
commit1659520ed4f2bf9a3039a5c59218fa32fddb6580 (patch)
tree211b743a68638152535508e9fa2ec9788763df4c
parent4322b0c7166a83de85af28402a1a2aed2178f530 (diff)
downloadfair-viewer-1659520ed4f2bf9a3039a5c59218fa32fddb6580.tar.lz
fair-viewer-1659520ed4f2bf9a3039a5c59218fa32fddb6580.tar.xz
fair-viewer-1659520ed4f2bf9a3039a5c59218fa32fddb6580.zip
- Don't cache resposes with code >= 300.
- Added support for session cookies, as some instances of "invidio.us", such as "invidiou.sh", seems to require cookies to be enabled. The instance can be changed in the configuration file by modifying the value of "api_host".
-rwxr-xr-xbin/gtk-straw-viewer8
-rwxr-xr-xbin/straw-viewer2
-rw-r--r--lib/WWW/StrawViewer.pm3
3 files changed, 8 insertions, 5 deletions
diff --git a/bin/gtk-straw-viewer b/bin/gtk-straw-viewer
index 704dce0..c1f9b5d 100755
--- a/bin/gtk-straw-viewer
+++ b/bin/gtk-straw-viewer
@@ -29,13 +29,12 @@ use warnings;
no warnings 'once';
my $DEVEL; # true in devel mode
-use if ($DEVEL = 0), lib => qw(../lib); # devel only
+use if ($DEVEL = 1), lib => qw(../lib); # devel only
use WWW::StrawViewer v0.0.1;
use WWW::StrawViewer::RegularExpressions;
use Gtk3 qw(-init);
-use File::ShareDir qw(dist_dir);
use File::Spec::Functions qw(
rel2abs
catdir
@@ -53,7 +52,10 @@ my $appname = 'GTK+ Straw Viewer';
my $version = $WWW::StrawViewer::VERSION;
# Share directory
-my $share_dir = ($DEVEL and -d "../share") ? '../share' : dist_dir('WWW-StrawViewer');
+my $share_dir =
+ ($DEVEL and -d "../share")
+ ? '../share'
+ : do { require File::ShareDir; File::ShareDir::dist_dir('WWW-StrawViewer') };
# Configuration dir/file
my $home_dir;
diff --git a/bin/straw-viewer b/bin/straw-viewer
index 404c757..d31e9ed 100755
--- a/bin/straw-viewer
+++ b/bin/straw-viewer
@@ -56,7 +56,7 @@ use warnings;
no warnings 'once';
my $DEVEL; # true in devel mode
-use if ($DEVEL = 0), lib => qw(../lib); # devel mode
+use if ($DEVEL = 1), lib => qw(../lib); # devel mode
use WWW::StrawViewer v0.0.1;
use WWW::StrawViewer::RegularExpressions;
diff --git a/lib/WWW/StrawViewer.pm b/lib/WWW/StrawViewer.pm
index 3c8a302..99331d5 100644
--- a/lib/WWW/StrawViewer.pm
+++ b/lib/WWW/StrawViewer.pm
@@ -271,6 +271,7 @@ sub set_lwp_useragent {
$self->{lwp} = $lwp->new(
+ cookie_jar => {}, # temporary cookies
timeout => $self->get_lwp_timeout,
show_progress => $self->get_debug,
agent => $self->get_lwp_agent,
@@ -284,7 +285,7 @@ sub set_lwp_useragent {
my ($response) = @_;
my $code = $response->code;
- $code >= 400 # do not cache any bad response
+ $code >= 300 # do not cache any bad response
or $response->request->method ne 'GET' # cache only GET requests
# don't cache if "cache-control" specifies "max-age=0" or "no-store"