diff options
author | Starfall <us@starfall.systems> | 2021-02-21 13:10:39 -0600 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2021-02-21 13:10:39 -0600 |
commit | 86de4ec5559164a49b2790d774f8bba5af02c64f (patch) | |
tree | 804ac22f8ea54824346d336f9fe7664e205719ff /lib/action_dispatch/cookie_jar_extensions.rb | |
parent | 3693000bf6a94219e3cc4a29a6cb4ac51b78cf2a (diff) | |
parent | 8792128f38e19b0d7882468a4f1f9362b98793a0 (diff) |
Merge remote-tracking branch 'glitchsoc/main' into main
Diffstat (limited to 'lib/action_dispatch/cookie_jar_extensions.rb')
-rw-r--r-- | lib/action_dispatch/cookie_jar_extensions.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/action_dispatch/cookie_jar_extensions.rb b/lib/action_dispatch/cookie_jar_extensions.rb new file mode 100644 index 000000000..44c39c1f8 --- /dev/null +++ b/lib/action_dispatch/cookie_jar_extensions.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module ActionDispatch + module CookieJarExtensions + private + + # Monkey-patch ActionDispatch to serve secure cookies to Tor Hidden Service + # users. Otherwise, ActionDispatch would drop the cookie over HTTP. + def write_cookie?(*) + request.headers['Host'].ends_with?('.onion') || super + end + end +end + +ActionDispatch::Cookies::CookieJar.prepend(ActionDispatch::CookieJarExtensions) |