gozer 2004/10/19 12:51:00
Modified: . Changes lib/Apache compat.pm lib/ModPerl WrapXS.pm t/response/TestCompat apache.pm todo release Log: Implement Apache->unescape_url_info in Apache::compat and drop it from the official API for CGI::Util::unescape() as a suggested replacement Revision Changes Path 1.514 +4 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.513 retrieving revision 1.514 diff -u -r1.513 -r1.514 --- Changes 15 Oct 2004 19:26:06 -0000 1.513 +++ Changes 19 Oct 2004 19:51:00 -0000 1.514 @@ -12,6 +12,10 @@ =item 1.99_17-dev +Implement Apache->unescape_url_info in Apache::compat and drop it +from the official API for CGI::Util::unescape() as a suggested +replacement [Gozer] + fix xs_generate to croak on duplicate entries in xs/maps files [Christian Krause <chkr plauener.de>] 1.124 +7 -1 modperl-2.0/lib/Apache/compat.pm Index: compat.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v retrieving revision 1.123 retrieving revision 1.124 diff -u -r1.123 -r1.124 --- compat.pm 24 Sep 2004 19:55:35 -0000 1.123 +++ compat.pm 19 Oct 2004 19:51:00 -0000 1.124 @@ -500,7 +500,6 @@ $r->connection->get_remote_host($type, $r->per_dir_config); } -#XXX: should port 1.x's Apache::URI::unescape_url_info sub parse_args { my($r, $string) = @_; return () unless defined $string and $string; @@ -510,6 +509,13 @@ s/%([0-9a-fA-F]{2})/pack("C",hex($1))/ge; $_; } split /[=&;]/, $string, -1; +} + +sub Apache::unescape_url_info { + my($class, $string) = @_; + Apache::URI::unescape_url($string); + $string =~ tr/+/ /; + $string; } #sorry, have to use $r->Apache::args at the moment 1.83 +2 -0 modperl-2.0/lib/ModPerl/WrapXS.pm Index: WrapXS.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v retrieving revision 1.82 retrieving revision 1.83 diff -u -r1.82 -r1.83 --- WrapXS.pm 4 Oct 2004 20:33:47 -0000 1.82 +++ WrapXS.pm 19 Oct 2004 19:51:00 -0000 1.83 @@ -845,6 +845,8 @@ ''], unescape_uri => ['unescape_url', ''], + unescape_url_info => [undef, + 'use CGI::Util::unescape() instead'], escape_html => [undef, # XXX: will be ap_escape_html 'ap_escape_html now requires a pool object'], parsedate => ['parse_http', 1.21 +6 -1 modperl-2.0/t/response/TestCompat/apache.pm Index: apache.pm =================================================================== RCS file: /home/cvs/modperl-2.0/t/response/TestCompat/apache.pm,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- apache.pm 16 Sep 2004 16:36:29 -0000 1.20 +++ apache.pm 19 Oct 2004 19:51:00 -0000 1.21 @@ -19,7 +19,7 @@ sub handler { my $r = shift; - plan $r, tests => 21; + plan $r, tests => 22; $r->send_http_header('text/plain'); @@ -110,6 +110,11 @@ canonpath($path), "Apache->server_root_relative('$path')"); } + + ok t_cmp(Apache->unescape_url_info("/foo+bar%20baz"), + '/foo bar baz', + 'Apache->unescape_url_info'); + OK; } 1.67 +0 -4 modperl-2.0/todo/release Index: release =================================================================== RCS file: /home/cvs/modperl-2.0/todo/release,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- release 4 Oct 2004 19:27:37 -0000 1.66 +++ release 19 Oct 2004 19:51:00 -0000 1.67 @@ -93,7 +93,3 @@ not sure when. we need to ping him every so often. but it'll probably won't happen by the time we release 2.0. -* Apache->unescape_url{_info}: - not yet implemented. should be moved to Apache::Util (or may be - APR::URI?) -