Changeset 10521

Show
Ignore:
Timestamp:
04/27/08 12:34:31 (6 months ago)
Author:
yusukebe
Message:

request_url メソッドを追加. get メソッド, post メソッドでもそれを呼ぶことにした

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/WebService-Simple/trunk/lib/WebService/Simple.pm

    r10405 r10521  
    114114} 
    115115 
    116 sub get 
    117 { 
     116sub request_url { 
    118117    my $self = shift; 
    119     my ($url, %extra, @headers); 
     118    my ($url, %extra); 
     119 
    120120    if (ref $_[0] eq 'HASH') { 
     121        $url = ""; 
    121122        %extra = %{shift @_}; 
    122123    } else { 
     
    127128    } 
    128129 
    129     @headers = @_; 
    130  
    131130    my $uri = URI->new($self->base_url); 
     131 
    132132    if($url){ 
    133133        $url =~ s!^/!! if $url =~ m!^/!; 
     
    135135    } 
    136136 
    137     # The url must be initialized with default parameters. 
    138  
    139137    map { utf8::encode($extra{$_}) if utf8::is_utf8($extra{$_}) } keys %extra; 
    140  
    141138    $uri->query_form( %{$self->basic_params}, %extra ); 
     139 
     140    return $uri; 
     141} 
     142 
     143sub get 
     144{ 
     145    my ($self, $url, %extra) = @_; 
     146    my $uri = $self->request_url($url,%extra); 
     147 
     148    my @headers = @_; 
    142149 
    143150    my $response; 
     
    158165    $self->__cache_set([$uri, @headers], $response); 
    159166    return $response; 
    160  
    161167} 
    162168 
     
    165171    my ($self, $url, @params) = @_; 
    166172 
    167     my $uri = URI->new($self->base_url); 
    168     if($url){ 
    169         $url =~ s!^/!! if $url =~ m!^/!; 
    170         $uri->path( $uri->path . $url); 
    171     } 
     173    my $uri = $self->request_url($url); 
    172174 
    173175    # default parameters must come *before* @params, so unshift instead 
     
    251253 
    252254Send POST request. 
     255 
     256=item request_url(I<[%extra_path,] $args>) 
     257 
     258Return reequest URL. 
    253259 
    254260=item base_url