|
NAMECatalyst::Middleware::Stash - The Catalyst stash - in middlewareDESCRIPTIONWe've moved the Catalyst stash to middleware. Please don't use this directly since it is likely to move off the Catalyst namespace into a stand alone distributionWe store a coderef under the "PSGI_KEY" which can be dereferenced with key values or nothing to access the underlying hashref. Anything placed into the stash will be available in the stash of any 'mounted' Catalyst applications. A mounted Catalyst application may set the stash and 'pass back' information to the parent application. Non Catalyst applications may use this middleware to access and set stash values. Please note I highly recommend having a stronger interface than a stash key between applications. For more information the current test case t/middleware-stash.t is the best documentation. SUBROUTINESThis class defines the following subroutines.PSGI_KEYReturns the hash key where we store the stash. You should not assume the string value here will never change! Also, its better to use "get_stash" or "stash".get_stashExpect: $psgi_env.Exportable subroutine. Get the stash out of the $env. stashExpects: An object that does "env" and argumentsExportable subroutine. Given an object with a method "env" get or set stash values, either as a method or via hashref modification. This stash is automatically reset for each request (it is not persistent or shared across connected clients. Stash key / value are stored in memory. use Plack::Request; use Catalyst::Middleware::Stash 'stash'; my $app = sub { my $env = shift; my $req = Plack::Request->new($env); my $stashed = $req->stash->{in_the_stash}; # Assume the stash was previously populated. return [200, ['Content-Type' => 'text/plain'], ["I found $stashed in the stash!"]]; }; If the stash does not yet exist, an exception is thrown. METHODSThis class defines the following methods.callUsed by plack to call the middleware
Visit the GSP FreeBSD Man Page Interface. |