Added Catalyst::Exception
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine / CGI.pm
index 1a8f37c..11d8ebf 100644 (file)
@@ -3,8 +3,25 @@ package Catalyst::Engine::CGI;
 use strict;
 use base 'Catalyst::Engine::CGI::Base';
 
+use Catalyst::Exception;
 use CGI;
 
+our @compile = qw[
+    delete
+    http
+    new_MultipartBuffer
+    param
+    parse_keywordlist
+    read_from_client
+    read_multipart
+    tmpFileName
+    uploadInfo
+    url_param
+    user_agent
+];
+
+CGI->compile(@compile);
+
 __PACKAGE__->mk_accessors('cgi');
 
 =head1 NAME
@@ -29,15 +46,7 @@ appropriate engine module.
 =head1 DESCRIPTION
 
 This is the Catalyst engine specialized for the CGI environment (using the
-C<CGI> and C<CGI::Cookie> modules).  Normally Catalyst will select the
-appropriate engine according to the environment that it detects, however you
-can force Catalyst to use the CGI engine by specifying the following in your
-application module:
-
-    use Catalyst qw(-Engine=CGI);
-
-The performance of this way of using Catalyst is not expected to be
-useful in production applications, but it may be helpful for development.
+C<CGI> and C<CGI::Cookie> modules).
 
 =head1 METHODS
 
@@ -124,7 +133,10 @@ sub prepare_request {
 
         else {
             my $class = ref($object);
-            die( qq/Invalid argument $object/ );
+            
+            Catalyst::Exception->throw(
+                message => qq/Unknown object '$object'/
+            );
         }
     }