Skip to content

Commit

Permalink
Handle pre-flight CORS requests from WebKit 531.22.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
jcoglan committed Apr 11, 2012
1 parent d3efa17 commit dbbc3e3
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
3 changes: 2 additions & 1 deletion javascript/adapters/node_adapter.js
Expand Up @@ -122,7 +122,8 @@ Faye.NodeAdapter = Faye.Class({
if (/\.js$/.test(requestUrl.pathname))
return this._serveClientScript(request, response);

if (requestMethod === 'OPTIONS')
// http://groups.google.com/group/faye-users/browse_thread/thread/4a01bb7d25d3636a
if (requestMethod === 'OPTIONS' || request.headers['access-control-request-method'] === 'POST')
return this._handleOptions(request, response);

if (Faye.EventSource.isEventSource(request))
Expand Down
6 changes: 5 additions & 1 deletion lib/faye/adapters/rack_adapter.rb
Expand Up @@ -75,8 +75,12 @@ def call(env)
[404, TYPE_TEXT, ["Sure you're not looking for #{@endpoint} ?"]]
end

# http://groups.google.com/group/faye-users/browse_thread/thread/4a01bb7d25d3636a
if env['REQUEST_METHOD'] == 'OPTIONS' or env['HTTP_ACCESS_CONTROL_REQUEST_METHOD'] == 'POST'
return handle_options(request)
end

return serve_client_script(env) if request.path_info =~ /\.js$/
return handle_options(request) if env['REQUEST_METHOD'] == 'OPTIONS'
return handle_websocket(env) if Faye::WebSocket.websocket?(env)
return handle_eventsource(env) if Faye::EventSource.eventsource?(env)

Expand Down

0 comments on commit dbbc3e3

Please sign in to comment.