So, the ColdBox docs say Request End Handler is called BEFORE views
are rendered:
http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbRequestLifecycle
...
Execute the handler.event()
Execute the handler.postHandler() event if it exists
Execute the postEvent Interceptors
Execute the Request End Handler if it exists <---- Supposedly executed here
Execute the preView Interceptors
Render the View/Layout Combinations
Execute the postView Interceptors
Execute the postProcess Interceptors
But debug output suggests otherwise:
02:19:15.655 PM 75 ms interception [afterConfigurationLoad] View
02:19:15.701 PM 38 ms interception [afterAspectsLoad] View
02:19:15.756 PM 1 ms invoking runEvent [main.onAppInit] View
02:19:15.757 PM 1 ms interception [preProcess] View
02:19:15.835 PM 77 ms invoking runEvent [main.onRequestStart] View
02:19:15.870 PM 0 ms interception [preEvent] View
02:19:31.426 PM 15550 ms invoking runEvent [home.index] View
02:19:31.434 PM 1 ms interception [postEvent] View
02:19:31.470 PM 12 ms rendering View [locale_selector.cfm] ...
02:19:31.848 PM 3 ms rendering View [home/terms.cfm] ...
02:19:31.852 PM 381 ms rendering View [home/register_form.cfm] ...
02:19:31.905 PM 26 ms rendering View [footer.cfm] ...
02:19:31.910 PM 454 ms rendering Layout [layout.homePage.cfm] ...
02:19:31.911 PM 0 ms invoking runEvent [main.onRequestEnd] View <---
Actually executed here
Total Framework Request Execution Time: 16219 ms
So, which is it? Are the docs wrong or is this a bug in CB3.0.0M4?
If the docs are wrong, then it looks like there's no *event* to hook
into in order to do post-handler / pre-view logic and instead I'm
going to need to use the postEvent / preView interception points (and
if there's nothing executed between them - despite what the docs says
- why are there two such interception points right next to each
other?).