rollback to use Catalyst qw/@plugins/
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Cookbook.pod
index 75bae02..c39e0a5 100644 (file)
@@ -62,11 +62,10 @@ nifty statistics in your debug messages.
 =head2 Enable debug status in the environment
 
 Normally you enable the debugging info by adding the C<-Debug> flag to
-your C<use Catalyst> statement (or C<__PACKAGE__->setup(qw/-Debug/)
-). However, you can also enable it using environment variable, so you
-can (for example) get debug info without modifying your application
-scripts. Just set C<CATALYST_DEBUG> or C<E<lt>MYAPPE<gt>_DEBUG> to a
-true value.
+your C<use Catalyst> statement . However, you can also enable it using
+environment variable, so you can (for example) get debug info without
+modifying your application scripts. Just set C<CATALYST_DEBUG> or
+C<E<lt>MYAPPE<gt>_DEBUG> to a true value.
 
 =head2 Sessions
 
@@ -114,11 +113,11 @@ reference.
 =head3 EXAMPLE
 
   use parent qw/Catalyst/;
-  __PACKAGE__->setup( qw/
+  use Catalyst  qw/
                          Session
                          Session::Store::FastMmap
                          Session::State::Cookie
-                   /;)
+                   /;
 
 
   ## Write data into the session
@@ -269,12 +268,11 @@ The L<Catalyst::Plugin::Authorization::Roles> plugin is required when
 implementing roles:
 
  use parent qw/Catalyst/;
- __PACKAGE__->setup (qw/
+ use Catalyst qw/
      Authentication
      Authentication::Credential::Password
      Authentication::Store::Htpasswd
-     Authorization::Roles
-  /);
+     Authorization::Roles/;
 
 Roles are implemented automatically when using
 L<Catalyst::Authentication::Store::Htpasswd>:
@@ -404,10 +402,10 @@ the user is a member.
 =head3 EXAMPLE
 
  use parent qw/Catalyst/;
- __PACKAGE__->setup( qw/Authentication
-                        Authentication::Credential::Password
-                        Authentication::Store::Htpasswd
-                        Authorization::Roles/);
+ use Catalyst qw/Authentication
+                 Authentication::Credential::Password
+                 Authentication::Store::Htpasswd
+                 Authorization::Roles/;
 
  __PACKAGE__->config->{authentication}{htpasswd} = "passwdfile";
 
@@ -501,10 +499,10 @@ The Authorization::Roles plugin let's us perform role based access
 control checks. Let's load it:
 
     use parent qw/Catalyst/;
-    __PACKAGE__->setup(qw/
-        Authentication # yadda yadda
-        Authorization::Roles
-    /);
+    use Catalyst qw/
+                    Authentication # yadda yadda
+                    Authorization::Roles
+                  /;
 
 And now our action should look like this:
 
@@ -718,7 +716,7 @@ later) and SOAP::Lite (for XMLRPCsh.pl).
 
 3. Add the XMLRPC plugin to MyApp.pm
 
-    __PACKAGE__->setup( qw/-Debug Static::Simple XMLRPC/);
+    use Catalyst qw/-Debug Static::Simple XMLRPC/;
 
 4. Add an API controller
 
@@ -1768,7 +1766,7 @@ The development server is a mini web server written in perl.  If you
 expect a low number of hits or you don't need mod_perl/FastCGI speed,
 you could use the development server as the application server with a
 lightweight proxy web server at the front.  However, consider using
-L<Catalyst::Engine::HTTP::POE> for this kind of deployment instead, since
+L<Catalyst::Engine::HTTP::Prefork> for this kind of deployment instead, since
 it can better handle multiple concurrent requests without forking, or can
 prefork a set number of servers for improved performance.
 
@@ -1813,9 +1811,18 @@ Make sure mod_proxy is enabled and add:
         Order deny,allow
         Allow from all
     </Proxy>
+
+    # Need to specifically stop these paths from being passed to proxy
+    ProxyPass /static !
+    ProxyPass /favicon.ico !
+
     ProxyPass / http://localhost:8080/
     ProxyPassReverse / http://localhost:8080/
 
+    # This is optional if you'd like to show a custom error page 
+    # if the proxy is not available
+    ErrorDocument 502 /static/error_pages/http502.html
+
 You can wrap the above within a VirtualHost container if you want
 different apps served on the same host.
 
@@ -1903,7 +1910,7 @@ B<root/images/me.jpg> is found and served.
 
 Using the plugin is as simple as setting your use line in MyApp.pm to include:
 
- __PACKAGE__->setup( qw/Static::Simple/);
+ use Catalyst qw/Static::Simple/;
 
 and already files will be served.
 
@@ -1988,7 +1995,7 @@ using L<Catalyst::Plugin::Static>.
 
 In your main application class (MyApp.pm), load the plugin:
 
-    __PACKAGE__->setup( qw/-Debug FormValidator Static OtherPlugin/);
+    use Catalyst qw/-Debug FormValidator Static OtherPlugin/;
 
 You will also need to make sure your end method does I<not> forward
 static content to the view, perhaps like this:
@@ -2103,7 +2110,7 @@ rendered XHTML version of the source POD document.  This is an ideal
 application for a cache because the source document changes
 infrequently but may be viewed many times.
 
-    __PACKAGE__->setup( qw/Cache::FileCache/);
+    use Catalyst qw/Cache::FileCache/;
     
     ...
     
@@ -2151,7 +2158,7 @@ thing for every single user who views the page.
 
 We can add the PageCache plugin to speed things up.
 
-    __PACKAGE__->setup( qw/Cache::FileCache PageCache/);
+    use Catalyst qw/Cache::FileCache PageCache/;
     
     sub front_page : Path ('/') {
         my ( $self, $c ) = @_;