Edited at

Rails で任意の Header の値を Cookie として扱う

More than 3 years have passed since last update.

Unity で WWWUnityWebRequest などの機能を使って HTTP リクエストする際、Cookie を操作することができなくてセッションの維持に困ったので、サーバー側で以下の Rack middleware を作って使うことで問題を解決しました(Unity で Cookie 対応のアセットを使うとか他にもいろいろやりようはあると思いますが、今回はそうしなかった)。

https://github.com/shiwano/rack-merge-cookies

手順としては、

gem 'rack-merge-cookies'

を Gem ファイルに追加し、bundle install

config.middleware.insert_before(ActionDispatch::Cookies, Rack::MergeCookies, header_name: 'X-COOKIE')

上記の記述を config/application.rb に追加すれば、X-Cookie の値を Cookie として取り扱うことができるようになります。

通常の Web アプリケーション開発でこのようなことに困ることはないと思いますが、もし同様の事例で困った方がいたら試してもらえれば (´・ω・`)