summary refs log tree commit diff
path: root/lib/MooseX/UserAgent/Config.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/UserAgent/Config.pm')
-rw-r--r--lib/MooseX/UserAgent/Config.pm22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/MooseX/UserAgent/Config.pm b/lib/MooseX/UserAgent/Config.pm
new file mode 100644
index 0000000..b468e4c
--- /dev/null
+++ b/lib/MooseX/UserAgent/Config.pm
@@ -0,0 +1,22 @@
+package MooseX::UserAgent::Config;
+
+use Moose::Role;
+
+has 'agent' => (
+    isa     => 'Object',
+    is      => 'rw',
+    lazy    => 1,
+    default => sub {
+        my $self = shift;
+        my $ua   = LWP::UserAgent->new;
+
+        my $conf = $self->useragent_conf;
+        $ua->agent( $conf->{name} ) if $conf->{name};
+        $ua->from( $conf->{mail} )  if $conf->{mail};
+        $ua->max_size( $conf->{max_size} || 3000000 );
+        $ua->timeout( $conf->{timeout}   || 30 );
+        $ua;
+    }
+);
+
+1;