Changeset 13820

Show
Ignore:
Timestamp:
06/13/08 18:30:47 (5 years ago)
Author:
hakobe
Message:

* 新しいautoboxの形式に書き換え
* エラーをトラップするように変更
* http_proxy環境変数を使うように変更

Location:
lang/perl/autobox-URI-Fetch/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/autobox-URI-Fetch/trunk/lib/autobox/URI/Fetch.pm

    r4910 r13820  
    22 
    33use strict; 
    4 use 5.8.1; 
    5 our $VERSION = '0.01'; 
     4use warnings; 
     5use 5.8.8; 
     6our $VERSION = '0.02'; 
    67 
    7 use autobox; 
     8use base qw(autobox); 
     9 
     10sub import { 
     11    shift->SUPER::import(STRING => 'autobox::URI::Fetch::Impl'); 
     12} 
     13 
     14package # hide from pause 
     15    autobox::URI::Fetch::Impl; 
     16 
    817use Carp; 
    9 use Regexp::Common qw(URI); 
    1018use URI; 
    1119use URI::Fetch; 
    1220 
    13 sub SCALAR::fetch { 
     21my $ua = LWP::UserAgent->new; 
     22   $ua->env_proxy; 
     23 
     24sub fetch { 
    1425    my $uri = URI->new(shift); 
     26    my $res = URI::Fetch::fetch('URI::Fetch', $uri, UserAgent => $ua) 
     27        or croak(URI::Fetch->errstr); 
    1528 
    16     return URI::Fetch::fetch('URI::Fetch', $uri); 
     29    return $res; 
    1730} 
    1831 
    19 sub SCALAR::content { 
     32sub content { 
    2033    my $uri = URI->new(shift); 
    21     my $res = URI::Fetch::fetch('URI::Fetch', $uri); 
     34    my $res = URI::Fetch::fetch('URI::Fetch', $uri, UserAgent => $ua) 
     35        or croak(URI::Fetch->errstr); 
    2236 
    2337    return $res->content; 
     
    3347=head1 SYNOPSIS 
    3448 
    35   use autobox; 
    3649  use autobox::URI::Fetch; 
    3750 
  • lang/perl/autobox-URI-Fetch/trunk/t/01_fetch.t

    r4910 r13820  
    22use warnings; 
    33 
    4 use autobox; 
     4use Test::More tests => 4; 
     5use Test::Exception; 
     6 
    57use autobox::URI::Fetch; 
    6  
    7 use URI::Fetch; 
    8 use Readonly; 
    9 use Test::More tests => 2; 
    108 
    119isa_ok('http://d.hatena.ne.jp'->fetch, 'URI::Fetch::Response'); 
    1210like( 
    1311    'http://d.hatena.ne.jp'->content,  
    14     qr{^<!DOCTYPE\ HTML\ PUBLIC\ "-//W3C//DTD\ HTML\ 4\.01\ Transitional//EN">}xms, 
    15     'content' 
     12    qr{^<!DOCTYPE\ HTML\ PUBLIC\ "-//W3C//DTD\ HTML\ 4\.01\ Transitional//EN">}xms 
    1613); 
    1714 
     15dies_ok { 'http://dummy'->fetch   }; 
     16dies_ok { 'http://dummy'->content };