Changeset 12220 for lang/perl/Atompub

Show
Ignore:
Timestamp:
05/23/08 00:31:58 (6 months ago)
Author:
takemaru
Message:

lang/perl/Atompub: 0.3.1 released. fix slug encoding

Location:
lang/perl/Atompub
Files:
4 removed
12 modified
1 copied

Legend:

Unmodified
Added
Removed
  • lang/perl/Atompub/tags/0.3.1/Changes

    r7918 r12220  
     12008-05-22  Takeru INOUE  <takeru.inoue _ gmail.com> 
     2 
     3        * release 0.3.1: 
     4        * Makefile.PL 
     5        - use Module::Install 
     6        * lib/Atompub/Client.pm 
     7        - fix slug encoding scheme. 
     8          Thanks to Vincent 
     9 
    1102008-03-13  Takeru INOUE  <takeru.inoue _ gmail.com> 
    211 
  • lang/perl/Atompub/tags/0.3.1/MANIFEST

    r1858 r12220  
    1 Build.PL 
    21Changes 
    3 MANIFEST 
    4 META.yml # Will be created by "make dist" 
    5 Makefile.PL 
    6 README 
     2inc/Module/AutoInstall.pm 
     3inc/Module/Install.pm 
     4inc/Module/Install/AutoInstall.pm 
     5inc/Module/Install/Base.pm 
     6inc/Module/Install/Can.pm 
     7inc/Module/Install/Fetch.pm 
     8inc/Module/Install/Include.pm 
     9inc/Module/Install/Makefile.pm 
     10inc/Module/Install/Metadata.pm 
     11inc/Module/Install/Win32.pm 
     12inc/Module/Install/WriteAll.pm 
     13inc/Test/More.pm 
     14inc/Test/Perl/Critic.pm 
    715lib/Atompub.pm 
    816lib/Atompub/Client.pm 
     
    1119lib/Atompub/Server.pm 
    1220lib/Atompub/Util.pm 
     21Makefile.PL 
     22MANIFEST                        This list of files 
     23META.yml 
     24README 
    1325t/.htaccess 
    1426t/00.load.t 
  • lang/perl/Atompub/tags/0.3.1/Makefile.PL

    r1858 r12220  
    1 use lib qw(lib); 
    2 use Module::Build::Compat; 
     1use strict; 
     2use warnings; 
     3use inc::Module::Install; 
    34 
    4 Module::Build::Compat->run_build_pl(args => \@ARGV); 
    5 Module::Build::Compat->write_makefile(build_class => 'Module::Build'); 
     5name('Atompub'); 
     6all_from('lib/Atompub.pm'); 
     7license('perl'); 
     8 
     9requires('Class::Accessor::Fast'); 
     10requires('Class::Data::Inheritable'); 
     11requires('DateTime'); 
     12requires('DateTime::Format::W3CDTF'); 
     13requires('DateTime::TimeZone'); 
     14requires('Digest::SHA1'); 
     15requires('File::Slurp'); 
     16requires('HTTP::Date'); 
     17requires('HTTP::Headers'); 
     18requires('HTTP::Request'); 
     19requires('HTTP::Response'); 
     20requires('HTTP::Status'); 
     21requires('MIME::Base64'); 
     22requires('MIME::Types'); 
     23requires('Module::Build::Compat'); 
     24requires('Perl6::Export::Attrs'); 
     25requires('Test::Perl::Critic'); 
     26requires('Time::Local'); 
     27requires('URI::Escape'); 
     28requires('XML::Atom::Service', 0.016); 
     29 
     30requires('version'); 
     31 
     32build_requires('Test::More'); 
     33build_requires('Test::Perl::Critic'); 
     34 
     35auto_include; 
     36auto_install; 
     37 
     38WriteAll; 
  • lang/perl/Atompub/tags/0.3.1/lib/Atompub.pm

    r7918 r12220  
    55 
    66use 5.006; 
    7 use version; our $VERSION = qv('0.3.0'); 
     7use version; our $VERSION = qv('0.3.1'); 
    88 
    99use HTTP::Headers; 
  • lang/perl/Atompub/tags/0.3.1/lib/Atompub/Client.pm

    r7918 r12220  
    7171    my $headers = HTTP::Headers->new; 
    7272    $headers->content_type(media_type('entry')); 
    73     $headers->slug(uri_escape uri_unescape $slug) if defined $slug; 
     73    $headers->slug(_escape(uri_unescape $slug)) if defined $slug; 
    7474    $client->_create_resource({ 
    7575        uri     => $uri, 
     
    8989    my $headers = HTTP::Headers->new; 
    9090    $headers->content_type($content_type); 
    91     $headers->slug(uri_escape uri_unescape $slug) if defined $slug; 
     91    $headers->slug(_escape( uri_unescape $slug)) if defined $slug; 
    9292    $client->_create_resource({ 
    9393        uri     => $uri, 
     
    443443} 
    444444 
     445# see 9.7.1 in RFC 5023 
     446sub _escape { 
     447    uri_escape(uri_escape(uri_escape(shift, "\x00-\x19"), "\x25-\x25"), "\x7e-\xff"); 
     448} 
     449 
    445450package Atompub::Client::Info; 
    446451 
  • lang/perl/Atompub/tags/0.3.1/t/10.client.t

    r7918 r12220  
    1313use URI::Escape; 
    1414 
    15 my $SERVICE = 'http://teahut.sakura.ne.jp:3000/service'; 
    16 #my $SERVICE = 'http://localhost:3000/service'; 
     15#my $SERVICE = 'http://teahut.sakura.ne.jp:3000/service'; 
     16my $SERVICE = 'http://localhost:3000/service'; 
    1717my $USER = 'foo'; 
    1818my $PASS = 'foo'; 
     
    9090isa_ok $client->rc, 'XML::Atom::Entry'; 
    9191 
    92 is $client->req->slug, uri_escape('Entry 1'); 
     92is $client->req->slug, 'Entry 1'; 
    9393is $client->res->code, RC_CREATED; 
    9494ok my $uri = $client->res->location; 
     
    174174isa_ok $client->rc, 'XML::Atom::Entry'; 
    175175 
    176 is $client->req->slug, uri_escape('Media 1'); 
     176is $client->req->slug, 'Media 1'; 
    177177is $client->res->code, RC_CREATED; 
    178178ok $uri = $client->res->location; 
  • lang/perl/Atompub/trunk/Changes

    r7918 r12220  
     12008-05-22  Takeru INOUE  <takeru.inoue _ gmail.com> 
     2 
     3        * release 0.3.1: 
     4        * Makefile.PL 
     5        - use Module::Install 
     6        * lib/Atompub/Client.pm 
     7        - fix slug encoding scheme. 
     8          Thanks to Vincent 
     9 
    1102008-03-13  Takeru INOUE  <takeru.inoue _ gmail.com> 
    211 
  • lang/perl/Atompub/trunk/MANIFEST

    r1858 r12220  
    1 Build.PL 
    21Changes 
    3 MANIFEST 
    4 META.yml # Will be created by "make dist" 
    5 Makefile.PL 
    6 README 
     2inc/Module/AutoInstall.pm 
     3inc/Module/Install.pm 
     4inc/Module/Install/AutoInstall.pm 
     5inc/Module/Install/Base.pm 
     6inc/Module/Install/Can.pm 
     7inc/Module/Install/Fetch.pm 
     8inc/Module/Install/Include.pm 
     9inc/Module/Install/Makefile.pm 
     10inc/Module/Install/Metadata.pm 
     11inc/Module/Install/Win32.pm 
     12inc/Module/Install/WriteAll.pm 
     13inc/Test/More.pm 
     14inc/Test/Perl/Critic.pm 
    715lib/Atompub.pm 
    816lib/Atompub/Client.pm 
     
    1119lib/Atompub/Server.pm 
    1220lib/Atompub/Util.pm 
     21Makefile.PL 
     22MANIFEST                        This list of files 
     23META.yml 
     24README 
    1325t/.htaccess 
    1426t/00.load.t 
  • lang/perl/Atompub/trunk/Makefile.PL

    r1858 r12220  
    1 use lib qw(lib); 
    2 use Module::Build::Compat; 
     1use strict; 
     2use warnings; 
     3use inc::Module::Install; 
    34 
    4 Module::Build::Compat->run_build_pl(args => \@ARGV); 
    5 Module::Build::Compat->write_makefile(build_class => 'Module::Build'); 
     5name('Atompub'); 
     6all_from('lib/Atompub.pm'); 
     7license('perl'); 
     8 
     9requires('Class::Accessor::Fast'); 
     10requires('Class::Data::Inheritable'); 
     11requires('DateTime'); 
     12requires('DateTime::Format::W3CDTF'); 
     13requires('DateTime::TimeZone'); 
     14requires('Digest::SHA1'); 
     15requires('File::Slurp'); 
     16requires('HTTP::Date'); 
     17requires('HTTP::Headers'); 
     18requires('HTTP::Request'); 
     19requires('HTTP::Response'); 
     20requires('HTTP::Status'); 
     21requires('MIME::Base64'); 
     22requires('MIME::Types'); 
     23requires('Module::Build::Compat'); 
     24requires('Perl6::Export::Attrs'); 
     25requires('Test::Perl::Critic'); 
     26requires('Time::Local'); 
     27requires('URI::Escape'); 
     28requires('XML::Atom::Service', 0.016); 
     29 
     30requires('version'); 
     31 
     32build_requires('Test::More'); 
     33build_requires('Test::Perl::Critic'); 
     34 
     35auto_include; 
     36auto_install; 
     37 
     38WriteAll; 
  • lang/perl/Atompub/trunk/lib/Atompub.pm

    r7918 r12220  
    55 
    66use 5.006; 
    7 use version; our $VERSION = qv('0.3.0'); 
     7use version; our $VERSION = qv('0.3.1'); 
    88 
    99use HTTP::Headers; 
  • lang/perl/Atompub/trunk/lib/Atompub/Client.pm

    r7918 r12220  
    7171    my $headers = HTTP::Headers->new; 
    7272    $headers->content_type(media_type('entry')); 
    73     $headers->slug(uri_escape uri_unescape $slug) if defined $slug; 
     73    $headers->slug(_escape(uri_unescape $slug)) if defined $slug; 
    7474    $client->_create_resource({ 
    7575        uri     => $uri, 
     
    8989    my $headers = HTTP::Headers->new; 
    9090    $headers->content_type($content_type); 
    91     $headers->slug(uri_escape uri_unescape $slug) if defined $slug; 
     91    $headers->slug(_escape( uri_unescape $slug)) if defined $slug; 
    9292    $client->_create_resource({ 
    9393        uri     => $uri, 
     
    443443} 
    444444 
     445# see 9.7.1 in RFC 5023 
     446sub _escape { 
     447    uri_escape(uri_escape(uri_escape(shift, "\x00-\x19"), "\x25-\x25"), "\x7e-\xff"); 
     448} 
     449 
    445450package Atompub::Client::Info; 
    446451 
  • lang/perl/Atompub/trunk/t/10.client.t

    r7918 r12220  
    1313use URI::Escape; 
    1414 
    15 my $SERVICE = 'http://teahut.sakura.ne.jp:3000/service'; 
    16 #my $SERVICE = 'http://localhost:3000/service'; 
     15#my $SERVICE = 'http://teahut.sakura.ne.jp:3000/service'; 
     16my $SERVICE = 'http://localhost:3000/service'; 
    1717my $USER = 'foo'; 
    1818my $PASS = 'foo'; 
     
    9090isa_ok $client->rc, 'XML::Atom::Entry'; 
    9191 
    92 is $client->req->slug, uri_escape('Entry 1'); 
     92is $client->req->slug, 'Entry 1'; 
    9393is $client->res->code, RC_CREATED; 
    9494ok my $uri = $client->res->location; 
     
    174174isa_ok $client->rc, 'XML::Atom::Entry'; 
    175175 
    176 is $client->req->slug, uri_escape('Media 1'); 
     176is $client->req->slug, 'Media 1'; 
    177177is $client->res->code, RC_CREATED; 
    178178ok $uri = $client->res->location;