Fork of WebGUI 7.10, maintained by Oqapi https://git.oqapi.nl/oqapi/webgui
Find a file
Patrick Donelan 716bdaeb86 Added exception handling
Added error doc mapping
Moved more logic into Session middleware
Added Credit example to app.psgi
Made StackTrace and Debug panel automatically turn on when debug mode enabled
Fixed errorHandler
2010-04-10 22:52:40 -04:00
docs more work on Admin. added FamFamFam icon set 2010-04-06 15:45:42 -05:00
eg More refactoring and documentation improvements 2010-04-09 01:12:30 -04:00
etc minor refactoring 2010-04-07 10:50:45 -04:00
lib Added exception handling 2010-04-10 22:52:40 -04:00
sbin Started ripping out mod_perl 2010-04-06 18:21:46 -04:00
t Demo site loads 2010-04-06 18:21:46 -04:00
www more work on Admin. added FamFamFam icon set 2010-04-06 15:45:42 -05:00
.gitignore Fixed #10967: Using a round bracket (parenthesis) in a macro. Unbalanced parentheses can now be escaped in macro calls using the backslash character. 2009-09-14 14:27:14 -04:00
.perltidyrc perltidyrc now placed where it can do the most good 2009-05-29 18:50:01 +00:00
app.psgi Added exception handling 2010-04-10 22:52:40 -04:00
asset_status.ods Add a sheet to track Roles. 2010-03-05 15:17:05 -08:00
benchmark.pl More refactoring and documentation improvements 2010-04-09 01:12:30 -04:00
README More refactoring and documentation improvements 2010-04-09 01:12:30 -04:00
TODO Added exception handling 2010-04-10 22:52:40 -04:00
WebGUI-Session-Plack.pm Added WebGUI::Requestion/Response 2010-04-06 19:35:06 -04:00

This is the PSGI branch of WebGUI8

Currently, the best performance is achieved via:

 plackup -E none -s Starman --workers 10
 
You can benchmark your server via:

 ab -t 3 -c 10 -k http://dev.localhost.localdomain:5000/ | grep Req
 
I'm currently getting 23 requests/second, whereas I'm getting 30/second on the non-PSGI WebGUI8 branch.

= ARCHITECTURE =

* The .psgi file gets to set WEBGUI_ROOT and WEBGUI_CONFIG.
* It instantiates the $wg WebGUI object (one per app).
* $wg creates and stores the WebGUI::Config (one per app)
* $wg creates the $app PSGI app code ref (one per app)
* WebGUI::Middleware::Session is wrapped around $app at the outer-most layer so that it can open and
  close the $session WebGUI::Session. Any other wG middleware that needs $session should go in between
  it and $app ($session created one per request)
* $session creates the $request WebGUI::Session::Request and $response WebGUI::Session::Response 
  objects (one per request)