-
- Distribution: Plack
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository (git clone)
- Issues
- Testers (1509 / 3 / 0)
- Kwalitee
- 80.40% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity
- 24 month
- Tools
- Download (185.98Kb) 0
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Tatsuhiko Miyagawa
- Aaron Trevena
- Ævar Arnfjörð Bjarmason
- Akzhan Abdulin
-
Alexandr Ciornii
-
Alex J. G. Burzyński
- Allan Whiteford
- Andrew Fresh
- Andrew Rodland
- Andy Wardley
-
Aristotle Pagaltzis
-
Arthur Axel 'fREW' Schmidt
-
Asato Wakisaka
- Ashley Pond V
- Ask Bjørn Hansen
-
ben hengst
-
Ben Morrow
- Bernhard Graf
- Chad Granum
-
chansen
-
Chia-liang Kao
-
cho45
-
Christian Walde
-
chromatic
-
Cosimo Streppone
-
Dagfinn Ilmari Mannsåker
- Daisuke Maki
-
Daisuke Murase
- Dave Marr
-
Dave Rolsky
-
David E. Wheeler
- David Schmidt
- David Steinbrunner
- dmaestro
- Eduardo Arino de la Rubia
- Emmanuel Seyman
- Eric Johnson
-
Eugen Konkov
-
Fabrice Gabolde
-
fayland
- Flavio Poletti
-
Florian Ragwitz
- franck cuny
-
Gianni Ceccarelli
-
Graham Knop
- Grant McLean
- Hans Dieter Pearcey
- Haruka Iwao
- Henry Baragar
-
hiratara
-
HIROSE Masaaki
- Hiroshi Sakai
- Ian Bradley
- Ian Burrell
- Jakob Voss
-
Jay Hannah
-
Jesse Luehrs
-
Jiro Nishiguchi
- Johannes Plunien
- John Beppu
-
John Napiorkowski
-
Jonathan Swartz
- José Pinheiro Neta
- Justin Davis
- kakuno
-
Kang-min Liu
-
Karen Etheridge
-
Kazuho Oku
- Keedi Kim
- Lee Aylward
- Leo Lapworth
- mala
- Marco Pessotto
- Marian Schubert
-
Mark Fowler
-
Mark Stosberg
- Masahiro Chiba
-
Masahiro Nagano
- Michael G. Schwern
- Michal Josef Špaček
- mickey
- Narsimham Chelluri
-
Nick Wellnhofer
- Nobuo Danjou
- Olaf Alders
-
Oliver Gorwits
- Oliver Paukstadt
- Oliver Trosien
-
Olivier Mengué
- osfameron
- Panu Ervamaa
- Paul Driver
-
Pedro Melo
-
Perlover
- Peter Flanigan
-
Peter Makholm
-
Piotr Roszatycki
-
punytan
-
Rafael Kitover
-
Randy Stauner
- Ray Miller
- Richard Simões
- Ricky Morse
-
Robert Rothenberg
- Rob Hoelz
- runarb
-
Ryo Miyake
-
Sawyer X
- Scott S. McCoy
- Shawn M Moore
-
Shoichi Kaji
- smcmurray
- Stephen Clouse
- Stevan Little
- Stuart A Johnston
- Takeshi OKURA
- The Dumb Terminal
- Thomas Klausner
-
Thomas Sibley
-
Tim Bunce
- Tokuhiro Matsuno
-
Tomas Doran
- Tom Heady
- vti
- Wallace Reis
- xaicron
- Yann Kerherve
- yappo
-
Yury Zavarin
-
Yuval Kogman
- 唐鳳
- Dependencies
- Apache::LogFormat::Compiler
- Cookie::Baker
- Devel::StackTrace
- Devel::StackTrace::AsHTML
- File::ShareDir
- Filesys::Notify::Simple
- Hash::MultiValue
- HTTP::Entity::Parser
- HTTP::Headers::Fast
- HTTP::Message
- HTTP::Tiny
- parent
- Pod::Usage
- Stream::Buffered
- Test::TCP
- Try::Tiny
- URI
- WWW::Form::UrlEncoded
- CPAN Testers List
- Reverse dependencies
- Dependency graph
NAME
Plack::Middleware::ErrorDocument - Set Error Document based on HTTP status code
SYNOPSIS
# in app.psgi
use Plack::Builder;
builder {
enable "Plack::Middleware::ErrorDocument",
500 => '/uri/errors/500.html', 404 => '/uri/errors/404.html',
subrequest => 1;
$app;
};
DESCRIPTION
Plack::Middleware::ErrorDocument allows you to customize error screen by setting paths (file system path or URI path) of error pages per status code.
CONFIGURATIONS
- subrequest
-
A boolean flag to serve error pages using a new GET sub request. Defaults to false, which means it serves error pages using file system path.
builder { enable "Plack::Middleware::ErrorDocument", 502 => '/home/www/htdocs/errors/maint.html'; enable "Plack::Middleware::ErrorDocument", 404 => '/static/404.html', 403 => '/static/403.html', subrequest => 1; $app; };
This configuration serves 502 error pages from file system directly assuming that's when you probably maintain database etc. but serves 404 and 403 pages using a sub request so your application can do some logic there like logging or doing suggestions.
When using a subrequest, the subrequest should return a regular '200' response.
AUTHOR
Tatsuhiko Miyagawa
SEE ALSO
Module Install Instructions
To install Plack::Middleware::ErrorDocument, copy and paste the appropriate command in to your terminal.
cpanm Plack
perl -MCPAN -e shell install Plack
For more information on module installation, please visit the detailed CPAN module installation guide.