PSGI-Handy

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


  - Isolated networks where CPAN cannot be installed
  - Legacy in-house servers running old Perl
  - Local development and rapid prototyping
  - Small data-entry and reporting web tools
  - Educational use

LIMITATIONS

  - The app always returns the buffered PSGI form [ $status, \@headers,
    \@body ]; the PSGI delayed-response (streaming responder callback)
    form is not produced ("PSGI-subset")
  - Concurrency and the HTTP version depend on the PSGI server you choose
  - Some servers deliver only GET and POST; PUT/PATCH/DELETE routes are
    reachable through to_app under a PSGI server that sends them
  - No multipart uploads and no WebSocket in this version
  - HEAD requests are served by the matching GET route with the body removed
  - No built-in session management (cookies are provided; sessions are not)
  - No HTTPS (use a reverse proxy for TLS)

AUTHOR

lib/PSGI/Handy.pm  view on Meta::CPAN


The configured renderer is neither a CODE reference nor an object with a
C<render> method.

=back

=head1 LIMITATIONS

The C<$app> returned by C<to_app> always produces the buffered,
three-element PSGI response C<[ $status, \@headers, \@body ]>. The PSGI
delayed-response form (the streaming "responder" callback) is not
generated; this is what "PSGI-subset" means throughout this distribution.

Concurrency and the HTTP version depend on the PSGI server you choose.
No multipart uploads or WebSocket in this version. C<HEAD> requests are
served by the matching C<GET> route with the body removed.

=head1 PSGI::Handy::Router

A tiny PSGI route dispatcher. It resolves an incoming request, expressed
as an HTTP method and a C<PATH_INFO> string, to a previously registered



( run in 1.091 second using v1.01-cache-2.11-cpan-140bd7fdf52 )