Changeset 22992 for lang/perl/Moxy

Show
Ignore:
Timestamp:
11/08/08 11:11:00 (2 months ago)
Author:
tokuhirom
Message:

added cookies support

Location:
lang/perl/Moxy/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Moxy/trunk/Makefile.PL

    r22988 r22992  
    3030requires 'Path::Class'; 
    3131requires 'HTTP::Session' => 0.09; 
     32requires 'HTTP::Cookies'; 
    3233 
    3334test_requires('Test::More'); 
  • lang/perl/Moxy/trunk/TODO

    r22990 r22992  
    99- 認証まわりを flexible にしたい 
    1010-- OpenID に対応するとか 
    11 - cookie support 
    12 -- willcom サポート的に必要だな 
    13 -- 16:40 kan: でも、Moxy側でユーザを認証できてれば、なんとやれるんじゃない? 
    14 -- 16:40 kan: HTTP clientとしての挙動をエミュレーションすれば 
    1511- ezweb の DisplaySize が現在ブラウジング中画像表示サイズになっているが、これは壁紙画像表示サイズであるべき 
    1612 
  • lang/perl/Moxy/trunk/lib/Moxy.pm

    r22991 r22992  
    1616use HTML::TreeBuilder::XPath; 
    1717use HTML::TreeBuilder; 
     18use HTTP::Cookies; 
    1819use HTTP::Session; 
    1920use LWP::UserAgent; 
     
    318319    } 
    319320    $req->remove_header('Accept-Encoding'); # I HATE gziped CONTENT 
     321    $req->remove_header('Cookie');          # remove Cookie from the client 
     322 
     323    my $cookie_jar = $args{session}->get('cookies') || HTTP::Cookies->new(); # load cookies 
     324    if ($mobile_attribute->is_docomo) { 
     325        undef $cookie_jar; # docomo phone doesn't support cookies 
     326    } 
    320327 
    321328    # do request 
     
    325332        protocols_allowed => [qw/http https/], 
    326333        parse_head        => 0, 
     334        cookie_jar        => $cookie_jar, 
    327335    ); 
    328336 
     
    331339    my $t2 = Time::HiRes::gettimeofday(); 
    332340    $self->response_time( $t2-$t1 ); 
     341 
     342    $args{session}->set('cookies' => $cookie_jar); # save cookies 
    333343 
    334344    for my $hook ( 'security_filter', 'response_filter', "response_filter_$carrier", 'render_location_bar' ) {