[cgiapp] CGI::Application 4.5 / CGI::Application::Dispatch 3.0 released today with improved PSGI support

Mark Stosberg mark at summersault.com
Thu Jun 16 13:58:16 EDT 2011


After a long incubation period, perhaps too long, CGI::Application has
been updated today with native PSGI support in the core module as well
as PSGI-native dispatcher.

The changes since the last stable versions for each module are included
below. You can now find and review on the new MetaCPAN site:

    http://beta.metacpan.org/recent

I've already begun thinking and coding about the next evolution of our
framework beyond this. I hope to have drafts to share at or by by
YAPC::NA this year, although I won't attending this year due in part to
the very recent arrival of a new son.

In the meantime, feedback is welcome on these releases.

    Mark

###

4.50 Thu Jun 16, 2011

[FEATURES]
Better PSGI support in the core
- run_as_psgi() works like run, but directly returns the expected PSGI
  response structure
- psgi_app() wraps up all the PSGI bits to call and run the application
  and return a PSGI code ref:

    $psgi_coderef = WebApp->psgi_app({ ... args to new() ... });

[DOCUMENTATION]
- docs for header_props() were improved

[INTERNAL]
- source control management was moved from darcs to git. Those who prefer
  darcs are are more familiar with it are advised to try the darcs-git.py
  wrapper for git.

###

3.00 Jun 16, 2011
[FEATURES]
- PSGI support is improved. CGI::Application::Dispatch is now been
  rewritten and is included in this distribution. It is no longer a
  wrapper around the older dispatcher, but is completely PSGI-native.
  Performance should be improved a bit as well.

[THINGS THAT MIGHT BREAK YOUR CODE]
As part of the significant update to PSGI support, you'll need to update
a couple lines of code in your "dispatch.cgi" script if you were using
an older version of CGI::Application::Dispatch::PSGI. See the section on
"Backwards Compatibility" in that documentation.

[INTERNALS]
- CGI::Application 4.5 is now required for the newer native PSGI support.

- Exceptions in CGI::Application::Dispatch::PSGI are now handled with
  HTTP::Exception.  This in turn depends on HTTP::Status, which is
  currently in a distribution which depends on HTML::Parser, which
  depends having a C-compiler available. I don't consider this ideal, as
  I'd like to be able to support the easy installation of a pure-Perl
  CGI::Application stack. This could possibly be addressed in the future
  by removing the false dependency on a C-compiler from HTTP::Status, or
  we could return to use Exception::Class directly for exception
  handling.

  The except format of the default thrown exceptions may change in the
  future.





More information about the cgiapp mailing list