summaryrefslogtreecommitdiff
path: root/lib/MooseX/UserAgent/Generic.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2009-07-17 17:17:54 +0200
committerfranck cuny <franck@lumberjaph.net>2009-07-17 17:17:54 +0200
commitee4d87281ff498b5491e5ab06684379198ace86b (patch)
treee3503989bd7fc4eb8cf7669e6691c921f03a7448 /lib/MooseX/UserAgent/Generic.pm
parentupdate (c) (diff)
downloadmoosex-useragent-ee4d87281ff498b5491e5ab06684379198ace86b.tar.gz
up
Diffstat (limited to '')
-rw-r--r--lib/MooseX/UserAgent/Generic.pm30
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;