Plack::Middleware::ForceEnv modifies the environment passed to the application
by adding your specified key value pairs. This is primarily useful when testing
apps under plackup (or similar) in a development environment.
Modify HTTP response headers.
Plack::Middleware::IEnosniff is middleware for Plack. This middleware
adds HTTP Header 'X-Content-Type-Options: nosniff' for safe. Sending
X-Content-Type-Options response header with the value nosniff will
prevent Internet Explorer from MIME-sniffing a response away from the
declared content-type.
Plack::Middleware::InteractiveDebugger is a PSGI middleware component
that provides an awesome JavaScript in-browser interacive debugger.
Plack::Middleware::JSConcat allows you to concatenate multiple
javascripts files into one. It provides a content-hashed key as the
url for including all the javascript files you specified. You can
also provide a filter program to minimize the concatenated file.
Plack::Middleware::MemoryUsage is middleware for measuring process
memory.
Enabling Plack::Middleware::MemoryUsage causes huge performance
penalty. So I HIGHLY RECOMMEND to enable this middleware only on
development env or not processing every request on production using
Plack::Middleware::Conditional.
Writing RESTful apps is a good thing, but if you're also trying to support web
browsers, you're probably going to need some hackish workarounds. This module
provides one such workaround for your Plack applications.
Specifically, you can also use a header named X-HTTP-Method-Override (as used by
Google for its APIs) override the POST request method. Or you can add a
parameter named x-tunneled-method to your form action's query. Either way, the
overriding works only via POST requests, not GET.
If either of these attributes are available in a POST request, the
REQUEST_METHOD key of the Plack environment hash will be replaced with its
value. This allows your apps to override any HTTP method over POST. If your
application needs to know that such overriding has taken place, the original
method is stored under the plack.original_request_method key in the Plack
environment hash.
The list of methods you can specify are: GET, POST, HEAD, PUT, DELETE, OPTIONS,
TRACE and CONNECT.
Perl Web Server Gateway Interface Specification (pod only).
Plack Middleware. By enabling this middleware, all multiple slashes in your
requests will automatically be cut. //hello///world becomes /hello/world.
Simple as that.
Plack::Middleware::Precompressed is an alternative (or rather,
complement) to middlewares like Deflater, which will compress response
bodies on the fly. For dynamic resources, that behaviour is
necessary, but for static resources it is a waste: identical entities
will be compressed over and over. Instead, Precompressed allows you
to compress static resources once, e.g. as part of your build process,
and then serve the compressed resource in place of the uncompressed
one for compression-enabled clients.
To do so, it appends a .gz suffix to the request URI and tries to
serve that. If that fails, it will try again with the unmodified URI.