Commit d4f6e1f2 authored by blackst0ne's avatar blackst0ne

[Rails5] Fix ActionCable '/cable' mountpoint conflict

Since Rails 5.0 the new framework has been added. It's called ActionCable.
It brings WebSockets support to rails applications.
By default the mountpoint of WebSocket requests is `/cable` [1].

GitLab allows using top level names as namespaces or usernames.
For example, `gitlab.com/cable` at this moment leads to a user with the
nickname `cable`.

This commit changes ActionCable's mountpoint to a reserved top level
word `-`.
This is just a stub and should not be be used in real work.

Please set correct mountpoints for each environments when configuring
ActionCable for real using.

[1]: https://github.com/rails/rails/blob/5-0-stable/actioncable/lib/action_cable.rb#L38
parent 7a633e08
---
title: "[Rails5] Fix ActionCable '/cable' mountpoint conflict"
merge_request: 20015
author: "@blackst0ne"
type: fixed
...@@ -57,6 +57,13 @@ module Gitlab ...@@ -57,6 +57,13 @@ module Gitlab
# Configure the default encoding used in templates for Ruby 1.9. # Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8" config.encoding = "utf-8"
# ActionCable mount point.
# The default Rails' mount point is `/cable` which may conflict with existing
# namespaces/users.
# https://github.com/rails/rails/blob/5-0-stable/actioncable/lib/action_cable.rb#L38
# Please change this value when configuring ActionCable for real usage.
config.action_cable.mount_path = "-" if rails5?
# Configure sensitive parameters which will be filtered from the log file. # Configure sensitive parameters which will be filtered from the log file.
# #
# Parameters filtered: # Parameters filtered:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment