faye/faye — pull request #230 by steveluscher (2013-07-05 19:52:55+00:00)
Title: Refactored the matcher for Node to allow mounting Faye at the root path

As brought up by a Rubyist in #216, the new endpoint matcher prevents you from mounting Faye at the root path ("/"). Moreover, its extension matching rule `(\\.[^\\.]+)?` was never matching anything because the regular expression that came just before it would short-circuit it every time.

Given a mountpoint of "/", this new matcher will match:

/
/faye-browser.js
/foo
/foo/
/foo/bar
/foo/bar/

Given a mountpoint of "/bayeux", this new matcher will match:

/bayeux
/bayeux/faye-browser.js
/bayeux/foo
/bayeux/foo/
/bayeux/foo/bar
/bayeux/foo/bar/

…but will **not** match:

/bayeux/

This behavior should be consistent with @jcoglan's comment here: https://github.com/faye/faye/issues/170#issuecomment-10144269