Skip to content

Commit 5e2e41f

Browse files
authored
Merge pull request sinatra#1527 from jkowens/cleanup_force_encoding
Remove unnecessary code for force_encoding
2 parents 7b7043c + 6b96449 commit 5e2e41f

1 file changed

Lines changed: 13 additions & 20 deletions

File tree

lib/sinatra/base.rb

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1743,29 +1743,22 @@ def cleaned_caller(keep = 3)
17431743
end
17441744
end
17451745

1746-
# Fixes encoding issues by
1747-
# * defaulting to UTF-8
1748-
# * casting params to Encoding.default_external
1749-
#
1750-
# The latter might not be necessary if Rack handles it one day.
1751-
# Keep an eye on Rack's LH #100.
1752-
def force_encoding(*args) settings.force_encoding(*args) end
1753-
if defined? Encoding
1754-
def self.force_encoding(data, encoding = default_encoding)
1755-
return if data == settings || data.is_a?(Tempfile)
1756-
if data.respond_to? :force_encoding
1757-
data.force_encoding(encoding).encode!
1758-
elsif data.respond_to? :each_value
1759-
data.each_value { |v| force_encoding(v, encoding) }
1760-
elsif data.respond_to? :each
1761-
data.each { |v| force_encoding(v, encoding) }
1762-
end
1763-
data
1746+
# Force data to specified encoding. It defaults to settings.default_encoding
1747+
# which is UTF-8 by default
1748+
def self.force_encoding(data, encoding = default_encoding)
1749+
return if data == settings || data.is_a?(Tempfile)
1750+
if data.respond_to? :force_encoding
1751+
data.force_encoding(encoding).encode!
1752+
elsif data.respond_to? :each_value
1753+
data.each_value { |v| force_encoding(v, encoding) }
1754+
elsif data.respond_to? :each
1755+
data.each { |v| force_encoding(v, encoding) }
17641756
end
1765-
else
1766-
def self.force_encoding(data, *) data end
1757+
data
17671758
end
17681759

1760+
def force_encoding(*args) settings.force_encoding(*args) end
1761+
17691762
reset!
17701763

17711764
set :environment, (ENV['APP_ENV'] || ENV['RACK_ENV'] || :development).to_sym

0 commit comments

Comments
 (0)