I'm using the 'faye' gem with Rails 3.2.13. In development I'm running faye on localhost:9292 and my app on localhost:3000. I'm able to activate pop-up windows with a curl request from the command line but I can't establish a connection from within my app. The error I'm getting in my console is:
WebSocket connection to 'ws://localhost:9292/faye' failed: Error during WebSocket handshake: 'Upgrade' header is missing
I am trying to define a header for faye in my application.js file:
$(function() {
var faye = new Faye.Client("http://localhost:9292/faye");
faye.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
faye.subscribe('/messages', function (data) {
alert(data);
});
});
Is this the right way to add a Header?
I found a discussion of a similar problem here: https://github.com/faye/faye/issues/222 In this case the error seemed to be related to the ssl settings not being loaded. I checked my rack gem's lib directory and found
def ssl?
scheme == 'https'
end
This seems fine. How do I know if the settings aren't being properly loaded?
Any clues about where to look next would be much appreciated.