]> git.openstreetmap.org Git - rails.git/commitdiff
Restore monkey patching of OAuth::Helper
authorTom Hughes <tom@compton.nu>
Mon, 2 Sep 2024 23:25:41 +0000 (00:25 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 2 Sep 2024 23:26:32 +0000 (00:26 +0100)
This is needed for omniauth-mediawiki which still uses OAuth 1.

config/initializers/oauth.rb [new file with mode: 0644]

diff --git a/config/initializers/oauth.rb b/config/initializers/oauth.rb
new file mode 100644 (file)
index 0000000..b0b993e
--- /dev/null
@@ -0,0 +1,19 @@
+require "oauth/helper"
+
+module OAuth
+  module Helper
+    def escape(value)
+      value.to_s.gsub(OAuth::RESERVED_CHARACTERS) do |c|
+        c.bytes.map do |b|
+          format("%%%02X", b)
+        end.join
+      end.force_encoding(Encoding::US_ASCII)
+    end
+
+    def unescape(value)
+      value.to_s.gsub(/%\h{2}/) do |c|
+        c[1..].to_i(16).chr
+      end.force_encoding(Encoding::UTF_8)
+    end
+  end
+end