Changeset 7513
- Timestamp:
- 03/05/08 21:37:14 (5 years ago)
- Location:
- lang/perl/Catalyst-Controller-Atompub/branches
- Files:
-
- 1 added
- 1 modified
- 5 copied
-
. (added)
-
delay-reading-media (copied) (copied from lang/perl/Catalyst-Controller-Atompub/trunk)
-
delay-reading-media/Changes (copied) (copied from lang/perl/Catalyst-Controller-Atompub/trunk/Changes)
-
delay-reading-media/META.yml (copied) (copied from lang/perl/Catalyst-Controller-Atompub/trunk/META.yml)
-
delay-reading-media/lib/Catalyst/Controller/Atompub.pm (copied) (copied from lang/perl/Catalyst-Controller-Atompub/trunk/lib/Catalyst/Controller/Atompub.pm)
-
delay-reading-media/lib/Catalyst/Controller/Atompub/Collection.pm (copied) (copied from lang/perl/Catalyst-Controller-Atompub/trunk/lib/Catalyst/Controller/Atompub/Collection.pm) (6 diffs)
-
delay-reading-media/samples/MyBlog/lib/MyBlog/Controller/MediaCollection.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Catalyst-Controller-Atompub/branches/delay-reading-media/lib/Catalyst/Controller/Atompub/Collection.pm
r7264 r7513 8 8 use Atompub::Util qw( is_acceptable_media_type is_allowed_category ); 9 9 use Catalyst::Utils; 10 use File::Slurp;11 10 use HTTP::Status; 12 11 use NEXT; … … 226 225 unless $c->req->body; 227 226 228 my $media229 = read_file( $c->req->body, binmode => ':raw', err_mode => 'carp' )230 || return $self->error( $c, RC_BAD_REQUEST, 'No media resource' );231 232 227 my $entry = XML::Atom::Entry->new; 233 228 … … 252 247 $rc->edited( $self->edited ); # XXX DEPRECATED 253 248 $rc->uri( $media_uri ); 254 $rc->body( $ media);249 $rc->body( $c->req->body ); 255 250 $rc->type( $media_type ); 256 251 $self->media_resource( $rc ); … … 398 393 } 399 394 else { 400 $content 401 = read_file( $c->req->body, binmode => ':raw', err_mode => 'carp' ) 402 || return $self->error( $c, RC_BAD_REQUEST, 'No media' ); 395 $content = $c->req->body; 403 396 } 404 397 … … 503 496 504 497 use Atompub::MediaType qw( media_type ); 498 use File::Slurp; 505 499 506 500 use base qw( Class::Accessor::Fast ); … … 539 533 sub serialize { 540 534 my $self = shift; 541 my $body = $self->body; 542 UNIVERSAL::can( $body, 'as_xml' ) ? $body->as_xml : $body; 535 if (UNIVERSAL::isa( $self->body, 'XML::Atom::Base' )) { 536 return $self->body->as_xml; 537 } 538 elsif (UNIVERSAL::isa( $self->body, 'File::Temp' )) { 539 return $self->body( scalar read_file( $self->body, binmode => ':raw' ) ); 540 } 541 else { 542 return $self->body; 543 } 543 544 } 544 545 -
lang/perl/Catalyst-Controller-Atompub/branches/delay-reading-media/samples/MyBlog/lib/MyBlog/Controller/MediaCollection.pm
r6742 r7513 7 7 use Atompub::DateTime qw( datetime ); 8 8 use Atompub::MediaType qw( media_type ); 9 use MIME::Base64;10 9 use HTTP::Status; 11 10 use POSIX qw( strftime ); … … 70 69 media_uri => $media_uri, 71 70 media_etag => $self->calculate_new_etag( $c, $media_uri ), 72 media_body => MIME::Base64::encode( $self->media_resource->body ),71 media_body => $self->media_resource->serialize, 73 72 media_type => $self->media_resource->type, 74 73 }; … … 96 95 } 97 96 else { 98 $self->media_resource->body( MIME::Base64::decode( $rs->media_body ));97 $self->media_resource->body( $rs->media_body ); 99 98 $self->media_resource->type( $rs->media_type ); 100 99 } … … 129 128 130 129 $vals->{media_etag} = $self->calculate_new_etag( $c, $rs->media_uri ); 131 $vals->{media_body} = MIME::Base64::encode( $self->media_resource->body );130 $vals->{media_body} = $self->media_resource->serialize; 132 131 $vals->{media_type} = $media_type = $self->media_resource->type; 133 132
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)