Fusebox SES URL Error on Application Start
When utilizing SES URL's with Fusebox 5.5.0 & 5.5.1 core files, Fusebox must requires your application to load inorder for it to become aware of the fusebox.xml setting configurations. This occurs only on a fresh Application (or CF Service) start.
This issue will cause anyone or anything (bot) who arrives first, upon service start, to a page (circuit.fuseaction) other than your default fuseaction (defaultFuseaction) will view the homepage.
-
Ticket 337 (Could bootstrap change to allow SES URL settings to be known before first request?) - was opened in response to this issue
Workaround Fix (non-core modification)
As a work around for this issue you can place within your Application.cfc the following code:
<!--- FIX TO MAKE FUSEBOX AWARE FOR SES URLS ON SERVICE/APP (RE)START --->
<cfset Application.Fusebox.QUERYSTRINGSTART = "/">
<cfset Application.Fusebox.queryStringSeparator = "/">
<cfset Application.Fusebox.queryStringEqual = "/">
<cfset Application.Fusebox.self = "/index.cfm">
</cffunction>
*Replace with your SES URL settings
You will see these settings are the same as your Fusebox.xml Paramaters for SES URL's. Placing these here makes Fusebox aware of the FUSEBOX.QUERYSTRINGSTART variable which is required within myFusebox.CFC (core files) to properly execute the requested URL onAppStart.
Fusebox Trac Ticket Description
If onApplicationStart() loaded more of the framework, the parameters would be available for the onRequestStart() process... feasible?
Fusebox Self Aware
My thought on this is that Fusebox should be self aware, and not have to rely on the application to fully load one time to become aware.
External Links
-
Fusebox 5 Email Thread My email thread on this topic which began the discussion
-
Fusebox trac Ticket 337 Addressing this issue