The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Plack::Middleware::HTTPExceptions - Catch HTTP exceptions

SYNOPSIS

  my $app = sub {
      # ...
      MyHTTPError::BadGateway->throw;
  };

  builder {
      enable "HTTPExceptions";
      $app;
  };

DESCRIPTION

Plack::Middleware::HTTPExceptions is a PSGI middleware component to catch exceptions from applicaitions that can be translated into HTTP status code.

Your application is supposed to throw an object that implements code method which returns the HTTP status code such as 501 or 404. This middleware catches them and creates a valid response out of the code.

The exception object may also implement as_string, or overload the stringification, to represent the text of the error, which defaults to the status message of error codes, such as Service Unavailable for 503.

All the other errors that can't be translated into HTTP errors are just rethrown to the outer frame.

AUTHOR

Tatsuhiko Miyagawa

SEE ALSO

paste.httpexceptions