The "ends_with?" method is just a Rails alias of Ruby's "end_with?" method.
Using the latter makes the code less brittle.
end
def media_requested?
- request.path.split('.').first.ends_with?('/media') && !tag_requested?
+ request.path.split('.').first.end_with?('/media') && !tag_requested?
end
def replies_requested?
- request.path.split('.').first.ends_with?('/with_replies') && !tag_requested?
+ request.path.split('.').first.end_with?('/with_replies') && !tag_requested?
end
def tag_requested?
- request.path.split('.').first.ends_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
+ request.path.split('.').first.end_with?(Addressable::URI.parse("/tagged/#{params[:tag]}").normalize)
end
def cached_filtered_status_page
private
def https_enabled?
- Rails.env.production? && !request.path.start_with?('/health') && !request.headers["Host"].ends_with?(".onion")
+ Rails.env.production? && !request.path.start_with?('/health') && !request.headers["Host"].end_with?(".onion")
end
def authorized_fetch_mode?
end
def version
- if request.path.ends_with?('/small')
+ if request.path.end_with?('/small')
:small
else
:original
end
def standard_url
- if @domain.ends_with? ".onion"
+ if @domain.end_with? ".onion"
"http://#{@domain}/.well-known/webfinger?resource=#{@uri}"
else
"https://#{@domain}/.well-known/webfinger?resource=#{@uri}"
end
def host_meta_url
- if @domain.ends_with? ".onion"
+ if @domain.end_with? ".onion"
"http://#{@domain}/.well-known/host-meta"
else
"https://#{@domain}/.well-known/host-meta"
# Monkey-patch ActionDispatch to serve secure cookies to Tor Hidden Service
# users. Otherwise, ActionDispatch would drop the cookie over HTTP.
def write_cookie?(*)
- request.host.ends_with?('.onion') || super
+ request.host.end_with?('.onion') || super
end
end
end
module Rack
module SessionPersistedExtensions
def security_matches?(request, options)
- request.host.ends_with?('.onion') || super
+ request.host.end_with?('.onion') || super
end
end
end