X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUpgrading.pod;h=55638085a31c390e05796aeb2e4a48517eb69f55;hb=cac8fd6e3d729956b956f20aa0b3e2a1c5c83fd3;hp=e51e18ad80b9fd62285dc85a9c74844999333a03;hpb=75d68821eb2e68df557b479fd5a869590e094642;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index e51e18a..5563808 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -14,8 +14,10 @@ be taken with this upgrade and that testing should be greater than would be the case with a minor point update. It is highly recommended that you become familar with the L ecosystem -and documentation. Being able to take advantage of L development and -middleware is a major bonus to this upgrade. +and documentation. Being able to take advantage of L development and +middleware is a major bonus to this upgrade. Documentation about how to +take advantage of L by writing your own C<< .psgi >> file +is contained in L. If you have created a custom subclass of L you will need to convert it to be a subclass of L. @@ -75,7 +77,7 @@ previously should entirely continue to work in this release with no changes. However, if you have an C script, then you no longer need to specify the PSGI engine. Instead, the L application class -now has a new method C which returns a L compatible coderef +now has a new method C which returns a L compatible coderef which you can wrap in middleware of your choice. Catalyst will use the .psgi for your application if it is located in the C @@ -104,9 +106,25 @@ Instead, you now say: MyCatalystApp->psgi_app; }; -And also rename C<< script/myapp.psgi >> to C<< myapp.psgi >>. +In the simplest case: -If you rename your .psgi file without these modifications, then any tests run via + MyCatalystApp->setup_engine('PSGI'); + my $app = sub { MyCatalystApp->run(@_) } + +becomes + + MyCatalystApp->setup_engine('PSGI'); + my $app = MyCatalystApp->psgi_app(@_); + +B: + + my $app = sub { MyCatalystApp->psgi_app(@_) }; + # If you make ^^ this mistake, your app won't work, and will confuse the hell out of you! + +You can now rename C<< script/myapp.psgi >> to C<< myapp.psgi >>, and the built-in +Catalyst scripts, and your test suite will start using your .psgi file. + +B If you rename your .psgi file without these modifications, then any tests run via L will not be compatible with the new release, and will result in the development server starting, rather than the expected test running. @@ -122,6 +140,14 @@ to the engine code. =item Catalyst::Engine::Wx +=item Catalyst::Engine::Zeus + +=item Catalyst::Engine::JobQueue::POE + +=item Catalyst::Engine::XMPP2 + +=item Catalyst::Engine::SCGI + =back =head2 Engines with unknown status @@ -129,15 +155,15 @@ to the engine code. The following engines have untested or unknown compatibility. Reports are highly welcomed: - Catalyst::Engine::Embeddable - needs testing, should work? - Catalyst::Engine::XMPP2 - Catalyst::Engine::SCGI - Catalyst::Engine::Mojo - Catalyst::Engine::Zeus - broken for ages - Catalyst::Engine::JobQueue::POE - broken for ages - Catalyst::Engine::Stomp - fixed - Catalyst::Engine::Server (Marked as Deprecated) - Catalyst::Engine::HTTP::POE (Marked as Deprecated) +=over + +=item Catalyst::Engine::Mojo + +=item Catalyst::Engine::Server (Marked as Deprecated) + +=item Catalyst::Engine::HTTP::POE (Marked as Deprecated) + +=back =head2 Using middleware