Changeset 8633

Show
Ignore:
Timestamp:
04/02/08 12:45:37 (5 years ago)
Author:
yusukebe
Message:
 
Files:
1 modified

Legend:

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

    r8608 r8633  
    88use URI::Escape; 
    99use WebService::Simple::Response; 
    10 use Data::Dumper; 
    1110 
    1211our $VERSION = '0.02'; 
     
    5049    my $url = $base_url =~ /\?$/ ? $base_url : $base_url . "?"; 
    5150    my @params; 
    52     map {push(@params, "$_=" . URI::Escape::uri_escape_utf8($self->{param}->{$_}))} 
    53         keys %{$self->{param}}; 
    54     map {push(@params, "$_=" . URI::Escape::uri_escape_utf8($request_param->{$_}))} 
    55         keys %$request_param; 
     51    push(@params, $self->_hashref_to_str($self->{param})); 
     52    push(@params, $self->_hashref_to_str($request_param)); 
    5653    my $str = join("&",@params); 
    57     $url .= $str; 
    58     return $url; 
     54    return $url . $str; 
    5955} 
     56 
     57sub _hashref_to_str { 
     58    my ($self, $ref) = @_; 
     59    my @strs; 
     60    foreach my $key ( keys %$ref ){ 
     61        my $value = $ref->{$key}; 
     62        utf8::decode($value) unless utf8::is_utf8($value); 
     63        my $str = "$key=" . URI::Escape::uri_escape_utf8($value); 
     64        push(@strs, $str); 
     65    } 
     66    return @strs; 
     67} 
     68 
    6069 
    61701;