From fbe0876e7c8ab998a08e1eac6e7e72d92edeac10 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Fri, 5 Nov 2010 16:25:26 +0100 Subject: remove two methods --- lib/Net/HTTP/Spore/Request.pm | 136 +++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 80 deletions(-) (limited to 'lib/Net/HTTP/Spore/Request.pm') diff --git a/lib/Net/HTTP/Spore/Request.pm b/lib/Net/HTTP/Spore/Request.pm index 8a42e16..5b1caa2 100644 --- a/lib/Net/HTTP/Spore/Request.pm +++ b/lib/Net/HTTP/Spore/Request.pm @@ -128,53 +128,40 @@ sub body { } } +sub base { + my $self = shift; + URI->new( $self->_uri_base )->canonical; +} + sub input { (shift)->body(@_) } sub content { (shift)->body(@_) } sub secure { $_[0]->scheme eq 'https' } -# stolen from HTTP::Request::Common -sub _boundary { - my ( $self, $size ) = @_; +# TODO +# need to refactor this method, with path_info and query_string construction +sub uri { + my ($self, $path_info, $query_string) = @_; - return "xYzZy" unless $size; + if ( !defined $path_info || !defined $query_string ) { + my @path_info = $self->_path; + $path_info = $path_info[0] if !$path_info; + $query_string = $path_info[1] if !$query_string; + } - my $b = - MIME::Base64::encode( join( "", map chr( rand(256) ), 1 .. $size * 3 ), - "" ); - $b =~ s/[\W]/X/g; - return $b; -} + my $base = $self->_uri_base; -sub _form_data { - my ( $self, $data ) = @_; + my $path_escape_class = '^A-Za-z0-9\-\._~/'; - my $form_data; - foreach my $k ( keys %$data ) { - push @$form_data, - 'Content-Disposition: form-data; name="' - . $k - . '"'."\r\n\r\n" - . $data->{$k}; - } + my $path = URI::Escape::uri_escape($path_info || '', $path_escape_class); - my $b = $self->_boundary(10); - my $t = []; - foreach (@$form_data) { - push @$t, '--', $b, "\r\n", $_, "\r\n"; + if (defined $query_string && length($query_string) > 0) { + $path .= '?' . $query_string; } - push @$t, '--', $b, , '--', "\r\n"; - my $content = join("", @$t); - return ($content, $b); -} -# TODO -sub path_info { - my $self = shift; - my ($path) = $self->_path; - $path; + $base =~ s!/$!! if $path =~ m!^/!; + return URI->new( $base . $path )->canonical; } -# TODO sub _path { my $self = shift; @@ -200,52 +187,6 @@ sub _path { return ( $path, $query_string ); } -# TODO -sub query_string { - my $self = shift; - my ( undef, $query_string ) = $self->_path; - $query_string; -} - -# TODO -sub uri { - my $self = shift; - - my $path_info = shift; - my $query_string = shift; - - if ( !defined $path_info || !defined $query_string ) { - my @path_info = $self->_path; - $path_info = $path_info[0] if !$path_info; - $query_string = $path_info[1] if !$query_string; - } - - my $base = $self->_uri_base; - - my $path_escape_class = '^A-Za-z0-9\-\._~/'; - - my $path = URI::Escape::uri_escape($path_info || '', $path_escape_class); - - if (defined $query_string && length($query_string) > 0) { - $path .= '?' . $query_string; - } - - $base =~ s!/$!! if $path =~ m!^/!; - return URI->new( $base . $path )->canonical; -} - -# TODO retourner les query parameters ? vu qu'on a pas encore peuple l'url, on gere comment ? -sub query_parameters { - my $self = shift; -} - -# TODO -sub base { - my $self = shift; - URI->new( $self->_uri_base )->canonical; -} - -# TODO sub _uri_base { my $self = shift; my $env = $self->env; @@ -260,6 +201,41 @@ sub _uri_base { return $uri; } +# stolen from HTTP::Request::Common +sub _boundary { + my ( $self, $size ) = @_; + + return "xYzZy" unless $size; + + my $b = + MIME::Base64::encode( join( "", map chr( rand(256) ), 1 .. $size * 3 ), + "" ); + $b =~ s/[\W]/X/g; + return $b; +} + +sub _form_data { + my ( $self, $data ) = @_; + + my $form_data; + foreach my $k ( keys %$data ) { + push @$form_data, + 'Content-Disposition: form-data; name="' + . $k + . '"'."\r\n\r\n" + . $data->{$k}; + } + + my $b = $self->_boundary(10); + my $t = []; + foreach (@$form_data) { + push @$t, '--', $b, "\r\n", $_, "\r\n"; + } + push @$t, '--', $b, , '--', "\r\n"; + my $content = join("", @$t); + return ($content, $b); +} + sub new_response { my $self = shift; my $res = Net::HTTP::Spore::Response->new(@_); -- cgit v1.2.3