diff --git a/lib/HTTP/UserAgent.rakumod b/lib/HTTP/UserAgent.rakumod index d1100e9..dc50a17 100644 --- a/lib/HTTP/UserAgent.rakumod +++ b/lib/HTTP/UserAgent.rakumod @@ -29,7 +29,7 @@ role Connection { } } -has Int $.timeout is rw = 180; +has Int $.timeout is rw; has $.useragent; has HTTP::Cookies $.cookies is rw = HTTP::Cookies.new( file => tempfile[0], @@ -71,7 +71,7 @@ my sub _index_buf(Blob $input, Blob $sub) { -1 } -submethod BUILD(:$!useragent, Bool :$!throw-exceptions, :$!max-redirects = 5, :$!debug, :$!redirects-in-a-row) { +submethod BUILD(:$!useragent, Bool :$!throw-exceptions, :$!max-redirects = 5, :$!debug, :$!redirects-in-a-row, :$!timeout = 180) { $!useragent = get-ua($!useragent) if $!useragent.defined; if $!debug.defined { if $!debug ~~ Bool and $!debug == True { diff --git a/t/080-ua.rakutest b/t/080-ua.rakutest index 526b1ee..b29444b 100644 --- a/t/080-ua.rakutest +++ b/t/080-ua.rakutest @@ -4,7 +4,7 @@ use Test; use URI; -plan 11; +plan 13; # new my $ua = HTTP::UserAgent.new; @@ -108,4 +108,9 @@ else { skip "NETWORK_TESTING not set", 8; } +$ua = HTTP::UserAgent.new; +is $ua.timeout, 180, 'default timeout provided'; +$ua = HTTP::UserAgent.new: timeout => 120; +is $ua.timeout, 120, 'constructor accepts timeout'; + # vim: expandtab shiftwidth=4