Thursday, October 4, 2012

Railo Websockets Gateway Conflict with CFWheels

So, apparently, the Railo Websockets Gateway Extension conflicts with CFWheels.

The doc to get you started is at: http://wiki.getrailo.org/wiki/Extensions:WebSockets_Gateway#Sample_Apps

Which was giving me the error: "Gateway:my_websocket_gateway","key [WHEELS] doesn't exist in struct (keys:applicationname)"

Documented by another user here: http://code.google.com/p/cfwheels/issues/detail?id=860

The fix I found is similar, although less dramatic than "commenting out the $abortInvalidRequest();in both the events/onapplictionstart.cfm and also the events/onrequeststart.cfm allowed me to at get passed the point of the gateway not starting up."

I looked into the cfwheels code for  /wheels/global/internal.cfm --> $abortInvalidRequest  and, in my working copy, I've changed line 261 to not cause a 404 when the file in the calling path is from WebSocket.cfc, leaving wheels core functionality in place.

if ( (ListLen(callingPath, "/") GT ListLen(applicationPath, "/") || GetFileFromPath(callingPath) == "root.cfm" ) && ( GetFileFromPath(callingPath) != "WebSocket.cfc" )  )


Now.. on to WebSockets for Railo... I hope its more straight forward than having to compile java classes for Red5 ;-)

No comments: