Skip to content

Commit

Permalink
Remove unnecessary code for force_encoding
Browse files Browse the repository at this point in the history
Since Rack 2 requires Ruby 2.2+, the extra logic for determining
string encoding is no longer necessary. Outdated comments were
also removed.
  • Loading branch information
jkowens committed Apr 12, 2019
1 parent 7b7043c commit 5060eaf
Showing 1 changed file with 21 additions and 20 deletions.
41 changes: 21 additions & 20 deletions lib/sinatra/base.rb
Expand Up @@ -1743,29 +1743,22 @@ def cleaned_caller(keep = 3)
end
end

# Fixes encoding issues by
# * defaulting to UTF-8
# * casting params to Encoding.default_external
#
# The latter might not be necessary if Rack handles it one day.
# Keep an eye on Rack's LH #100.
def force_encoding(*args) settings.force_encoding(*args) end
if defined? Encoding
def self.force_encoding(data, encoding = default_encoding)
return if data == settings || data.is_a?(Tempfile)
if data.respond_to? :force_encoding
data.force_encoding(encoding).encode!
elsif data.respond_to? :each_value
data.each_value { |v| force_encoding(v, encoding) }
elsif data.respond_to? :each
data.each { |v| force_encoding(v, encoding) }
end
data
# Force data to specified encoding. It defaults to settings.default_encoding
# which is UTF-8 by default
def self.force_encoding(data, encoding = default_encoding)
return if data == settings || data.is_a?(Tempfile)
if data.respond_to? :force_encoding
data.force_encoding(encoding).encode!
elsif data.respond_to? :each_value
data.each_value { |v| force_encoding(v, encoding) }
elsif data.respond_to? :each
data.each { |v| force_encoding(v, encoding) }
end
else
def self.force_encoding(data, *) data end
data
end

def force_encoding(*args) settings.force_encoding(*args) end

reset!

set :environment, (ENV['APP_ENV'] || ENV['RACK_ENV'] || :development).to_sym
Expand Down Expand Up @@ -1870,6 +1863,14 @@ class #{self.class}
code = "# in #{file}\n#{code}" unless file.empty?
end

(<<-HTML).gsub(/^ {10}/, '')
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body { text-align:center;font-family:helvetica,arial;font-size:22px;
end
(<<-HTML).gsub(/^ {10}/, '')
<!DOCTYPE html>
<html>
Expand Down

0 comments on commit 5060eaf

Please sign in to comment.