Merge
[catagits/Catalyst-Action-REST.git] / lib / Catalyst / Action / REST.pm
index 9b20e55..b9e84cf 100644 (file)
@@ -14,16 +14,18 @@ use base 'Catalyst::Action';
 use Class::Inspector;
 use Catalyst;
 use Catalyst::Request::REST;
-use 5.8.1;
+use Catalyst::Controller::REST;
 
-our
-   $VERSION = '0.62';
+BEGIN { require 5.008001; }
 
-# This is wrong in several ways. First, there's no guarantee that
-# Catalyst.pm has not been subclassed. Two, there's no guarantee that
-# the user isn't already using their request subclass.
-Catalyst->request_class('Catalyst::Request::REST')
-  unless Catalyst->request_class->isa('Catalyst::Request::REST');
+our $VERSION = '0.71';
+
+sub new {
+  my $class  = shift;
+  my $config = shift;
+  Catalyst::Request::REST->_insert_self_into( $config->{class} );
+  return $class->SUPER::new($config, @_);
+}
 
 =head1 NAME
 
@@ -154,16 +156,46 @@ a sensible set of defaults for a controller doing REST.
 
 L<Catalyst::Action::Serialize>, L<Catalyst::Action::Deserialize>
 
-=head1 AUTHOR
+=head1 TROUBLESHOOTING
 
-Adam Jacob <adam@stalecoffee.org>, with lots of help from mst and jrockway
+=over 4
+
+=item Q: I'm getting a "415 Unsupported Media Type" error. What gives?!
+
+A:  Most likely, you haven't set Content-type equal to "application/json", or one of the 
+accepted return formats.  You can do this by setting it in your query string thusly:
+?content-type=application%2Fjson (where %2F == / uri escaped). 
+
+**NOTE** Apache will refuse %2F unless configured otherise.
+Make sure AllowEncodedSlashes On is in your httpd.conf file in order for this to run smoothly.
+
+=cut
+
+=cut
 
-Marchex, Inc. paid me while I developed this module.  (http://www.marchex.com)
 
-=head1 CONTRIBUTERS
+
+
+=head1 MAINTAINER
+
+J. Shirley <jshirley@gmail.com>
+
+=head1 CONTRIBUTORS
+
+Christopher Laco
+
+Luke Saunders
+
+John Goulah
 
 Daisuke Maki <daisuke@endeworks.jp>
 
+=head1 AUTHOR
+
+Adam Jacob <adam@stalecoffee.org>, with lots of help from mst and jrockway
+
+Marchex, Inc. paid me while I developed this module.  (http://www.marchex.com)
+
 =head1 LICENSE
 
 You may distribute this code under the same terms as Perl itself.