diff options
Diffstat (limited to 'lib/MooseX/UserAgent/Generic.pm')
| -rw-r--r-- | lib/MooseX/UserAgent/Generic.pm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/MooseX/UserAgent/Generic.pm b/lib/MooseX/UserAgent/Generic.pm new file mode 100644 index 0000000..dd1966f --- /dev/null +++ b/lib/MooseX/UserAgent/Generic.pm @@ -0,0 +1,30 @@ +package MooseX::UserAgent::Generic; + +our $VERSION = '0.2.0'; + +use URI; +use HTTP::Request; + +use Moose::Role; +with qw/ + MooseX::UserAgent::Config + MooseX::UserAgent::Content + MooseX::UserAgent::Cache + /; + +sub fetch { + my ( $self, $url ) = @_; + + my $req = HTTP::Request->new( GET => URI->new($url) ); + + $req->header( 'Accept-Encoding', 'gzip' ); + my $last_modified = $self->get_ua_cache($url); + $req->header( 'If-Modified-Since' => $last_modified ) + if $last_modified; + + my $res = $self->agent->request($req); + $self->store_ua_cache( $url, $res ); + $res; +} + +1; |
