X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Action-REST.git;a=blobdiff_plain;f=lib%2FCatalyst%2FAction%2FSerialize.pm;h=47c150acb93f84c449b562430768de8ae76d4cec;hp=549e312a83d3e2023599d105841cc26752e6175c;hb=5cb5f6bb8bd7e95865e8e3eb238b482aa161aa0d;hpb=faf5c20bff09c91f18b46a3d3d8349379aa36192 diff --git a/lib/Catalyst/Action/Serialize.pm b/lib/Catalyst/Action/Serialize.pm index 549e312..47c150a 100644 --- a/lib/Catalyst/Action/Serialize.pm +++ b/lib/Catalyst/Action/Serialize.pm @@ -1,6 +1,6 @@ # # Catlyst::Action::Serialize.pm -# Created by: Adam Jacob, Marchex, +# Created by: Adam Jacob, Marchex, # # $Id$ @@ -11,13 +11,13 @@ use warnings; use base 'Catalyst::Action::SerializeBase'; use Module::Pluggable::Object; -use Data::Dump qw(dump); +use MRO::Compat; sub execute { my $self = shift; my ( $controller, $c ) = @_; - $self->NEXT::execute(@_); + $self->maybe::next::method(@_); return 1 if $c->req->method eq 'HEAD'; return 1 if length( $c->response->body ); @@ -32,7 +32,7 @@ sub execute { $c->log->info("Could not find a serializer for $content_type"); } else { $c->log->info( - "Could not find a serializer for an empty content type"); + "Could not find a serializer for an empty content-type"); } return 1; } @@ -99,27 +99,30 @@ L. =head1 CONFIGURATION -=over 4 +=head2 map -=item default +Takes a hashref, mapping Content-Types to a given serializer plugin. -The Content-Type of the default Serialization format. This must be a -Content-Type associated with a plugin in the "map" section below. +=head2 default -This is used if a requested content-type is not recognized. +This is the 'fall-back' Content-Type if none of the requested or acceptable +types is found in the L. It must be an entry in the L. -=item stash_key +=head2 stash_key -We will serialize the data that lives in this location in the stash. So -if the value is "rest", we will serialize the data under: +Specifies the key of the stash entry holding the data that is to be serialized. +So if the value is "rest", we will serialize the data under: $c->stash->{'rest'} -=item map +=head2 content_type_stash_key -Takes a hashref, mapping Content-Types to a given plugin. +Specifies the key of the stash entry that optionally holds an overriding +Content-Type. If set, and if the specified stash entry has a valid value, +then it takes priority over the requested content types. -=back +This can be useful if you want to dynamically force a particular content type, +perhaps for debugging. =head1 HELPFUL PEOPLE @@ -134,15 +137,12 @@ a sensible set of defaults for doing a REST controller. L, L -=head1 AUTHOR +=head1 AUTHORS -Adam Jacob , with lots of help from mst and jrockway - -Marchex, Inc. paid me while I developed this module. (http://www.marchex.com) +See L for authors. =head1 LICENSE You may distribute this code under the same terms as Perl itself. =cut -