[Catalyst] How to do REST without deserializing uploaded files
(PUT)
Hans Dieter Pearcey
hdp.perl.catalyst.users at weftsoar.net
Wed Apr 1 06:54:33 BST 2009
On Tue, Mar 31, 2009 at 09:03:15PM -0700, Bruce McKenzie wrote:
> Is there a way to declare some paths as NOT subject to deserialization? The
> reason I ask is that I want it for most everything...just not for a few paths.
Instead of deserializing in begin() (as C::C::REST does for you), this might
work:
sub deserialize : Chained(/) PathPart('') ActionClass(Deserialize) {}
sub foo : Chained(deserialize) ActionClass(REST) {}
sub foo_POST {...} # etc.
sub bar : ActionClass(REST) {}
sub bar_PUT {...} # etc.
foo comes from the deserialize action, bar doesn't, so a PUT to /bar won't
trigger deserialization. (note: totally untested.)
In the future, when we all have flying cars, REST and Deserialize will be
action roles, and you can do:
sub foo : Does(REST) Does(Deserialize) {}
sub foo_POST {...}
sub bar : Does(REST) {}
sub bar_PUT {...}
I'm open to other suggestions.
hdp.
More information about the Catalyst
mailing list