Skip to content

Commit 0b55da2

Browse files
authored
Merge pull request #404 from Shopify/uri-warnings
Fix URI deprecation warnings
2 parents e6162f5 + fdd3cfb commit 0b55da2

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

lib/active_resource.rb

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2424
#++
2525

26+
require "uri"
27+
2628
require "active_support"
2729
require "active_model"
2830
require "active_resource/exceptions"
@@ -31,6 +33,8 @@
3133
module ActiveResource
3234
extend ActiveSupport::Autoload
3335

36+
URI_PARSER = defined?(URI::RFC2396_PARSER) ? URI::RFC2396_PARSER : URI::RFC2396_Parser.new
37+
3438
autoload :Base
3539
autoload :Callbacks
3640
autoload :Connection

lib/active_resource/base.rb

+3-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
require "active_support/core_ext/object/to_query"
1212
require "active_support/core_ext/object/duplicable"
1313
require "set"
14-
require "uri"
1514

1615
require "active_resource/connection"
1716
require "active_resource/formats"
@@ -490,8 +489,8 @@ def site=(site)
490489
self._site = nil
491490
else
492491
self._site = create_site_uri_from(site)
493-
self._user = URI::DEFAULT_PARSER.unescape(_site.user) if _site.user
494-
self._password = URI::DEFAULT_PARSER.unescape(_site.password) if _site.password
492+
self._user = URI_PARSER.unescape(_site.user) if _site.user
493+
self._password = URI_PARSER.unescape(_site.password) if _site.password
495494
end
496495
end
497496

@@ -750,7 +749,7 @@ def prefix_source
750749
# Default value is <tt>site.path</tt>.
751750
def prefix=(value = "/")
752751
# Replace :placeholders with '#{embedded options[:lookups]}'
753-
prefix_call = value.gsub(/:\w+/) { |key| "\#{URI::DEFAULT_PARSER.escape options[#{key}].to_s}" }
752+
prefix_call = value.gsub(/:\w+/) { |key| "\#{URI_PARSER.escape options[#{key}].to_s}" }
754753

755754
# Clear prefix parameters in case they have been cached
756755
@prefix_parameters = nil

lib/active_resource/connection.rb

+4-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
require "net/https"
66
require "date"
77
require "time"
8-
require "uri"
98

109
module ActiveResource
1110
# Class to handle connections to remote web services.
@@ -43,8 +42,8 @@ def initialize(site, format = ActiveResource::Formats::JsonFormat, logger: nil)
4342
def site=(site)
4443
@site = site.is_a?(URI) ? site : URI.parse(site)
4544
@ssl_options ||= {} if @site.is_a?(URI::HTTPS)
46-
@user = URI::DEFAULT_PARSER.unescape(@site.user) if @site.user
47-
@password = URI::DEFAULT_PARSER.unescape(@site.password) if @site.password
45+
@user = URI_PARSER.unescape(@site.user) if @site.user
46+
@password = URI_PARSER.unescape(@site.password) if @site.password
4847
end
4948

5049
# Set the proxy for remote service.
@@ -173,8 +172,8 @@ def http
173172

174173
def new_http
175174
if @proxy
176-
user = URI::DEFAULT_PARSER.unescape(@proxy.user) if @proxy.user
177-
password = URI::DEFAULT_PARSER.unescape(@proxy.password) if @proxy.password
175+
user = URI_PARSER.unescape(@proxy.user) if @proxy.user
176+
password = URI_PARSER.unescape(@proxy.password) if @proxy.password
178177
Net::HTTP.new(@site.host, @site.port, @proxy.host, @proxy.port, user, password)
179178
else
180179
Net::HTTP.new(@site.host, @site.port)

0 commit comments

Comments
 (0)