diff --git a/Gemfile b/Gemfile
index 12f59ee3f8c27e0027eefcabfc35b9a99ab6f077..eb31b0c4f0bcb2ff30d4143439cb5e5db84c2713 100644
--- a/Gemfile
+++ b/Gemfile
@@ -24,17 +24,17 @@
# THE SOFTWARE.
#--------------------------------------------------------------------------
source "https://rubygems.org" do
- gem "faraday", "~> 1.0", :require => false
- gem "faraday_middleware", "~> 1.0.0.rc1", :require => false
- gem "net-http-persistent", "~> 4.0", :require => false
- gem "nokogiri", "~> 1", ">= 1.10.8", :require => false
- gem "adal", "~> 1.0", :require => false
- gem "dotenv", "~> 2.0", :require => false
- gem "minitest", "~> 5", :require => false
- gem "minitest-reporters", "~> 1", :require => false
- gem "mocha", "~> 1.0", :require => false
- gem "rake", "~> 13.0", :require => false
- gem "timecop", "~> 0.7", :require => false
- gem "yard", "~> 0.9", ">= 0.9.11", :require => false
- gem "coveralls", require: false
+ gem "faraday", "~> 2.0", :require => false
+ gem "faraday-net_http_persistent", "~> 2", :require => false
+ gem "faraday-follow_redirects", "~> 0.3", :require => false
+ gem "nokogiri", "~> 1", ">= 1.10.8", :require => false
+ gem "adal", "~> 1.0", :require => false
+ gem "dotenv", "~> 2.0", :require => false
+ gem "minitest", "~> 5", :require => false
+ gem "minitest-reporters", "~> 1", :require => false
+ gem "mocha", "~> 1.0", :require => false
+ gem "rake", "~> 13.0", :require => false
+ gem "timecop", "~> 0.7", :require => false
+ gem "yard", "~> 0.9", ">= 0.9.11", :require => false
+ gem "coveralls", require: false
end
diff --git a/blob/Gemfile b/blob/Gemfile
index 46caa9abda3b6e7a2e40a1b7bdfc671ae7ff7290..7ec39631d7360e425d4fd772966b40926a3eea5d 100644
--- a/blob/Gemfile
+++ b/blob/Gemfile
@@ -25,6 +25,8 @@
#--------------------------------------------------------------------------
source "https://rubygems.org"
+gem 'azure-storage-common', path: '../common'
+
gemspec name: "azure-storage-blob"
gem "coveralls", require: false
diff --git a/blob/azure-storage-blob.gemspec b/blob/azure-storage-blob.gemspec
index bc45e5259ef8549f3b457884372d5ba50ffcbfec..cb959b671add9b385f62e6210eab65948071a261 100644
--- a/blob/azure-storage-blob.gemspec
+++ b/blob/azure-storage-blob.gemspec
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 2.3.0"
- s.add_runtime_dependency("azure-storage-common", "~> 2.0")
+ s.add_runtime_dependency("azure-storage-common")
s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
s.add_development_dependency("dotenv", "~> 2.0")
s.add_development_dependency("minitest", "~> 5")
diff --git a/common/azure-storage-common.gemspec b/common/azure-storage-common.gemspec
index 2a614e580c309acaa84ed1d92431bc3bc35ec84b..69d1b19f6b5d8de7d31597e43cfec78868877a0d 100644
--- a/common/azure-storage-common.gemspec
+++ b/common/azure-storage-common.gemspec
@@ -41,16 +41,16 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 2.3.0"
- s.add_runtime_dependency('faraday', '~> 1.0')
- s.add_runtime_dependency('faraday_middleware', "~> 1.0", ">= 1.0.0.rc1")
- s.add_runtime_dependency("net-http-persistent", '~> 4.0')
- s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
- s.add_development_dependency("dotenv", "~> 2.0")
- s.add_development_dependency("minitest", "~> 5")
- s.add_development_dependency("minitest-reporters", "~> 1")
- s.add_development_dependency("mocha", "~> 1.0")
- s.add_development_dependency("rake", "~> 13.0")
- s.add_development_dependency("timecop", "~> 0.7")
- s.add_development_dependency("yard", "~> 0.9", ">= 0.9.11")
- s.add_development_dependency('bundler', '~> 1.11')
+ s.add_runtime_dependency('faraday', '~> 2')
+ s.add_runtime_dependency('faraday-net_http_persistent', "~> 2")
+ s.add_runtime_dependency('faraday-follow_redirects', "~> 0.3")
+ s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
+ s.add_development_dependency("dotenv", "~> 2.0")
+ s.add_development_dependency("minitest", "~> 5")
+ s.add_development_dependency("minitest-reporters", "~> 1")
+ s.add_development_dependency("mocha", "~> 1.0")
+ s.add_development_dependency("rake", "~> 13.0")
+ s.add_development_dependency("timecop", "~> 0.7")
+ s.add_development_dependency("yard", "~> 0.9", ">= 0.9.11")
+ s.add_development_dependency('bundler', '~> 1.11')
end
diff --git a/common/lib/azure/core.rb b/common/lib/azure/core.rb
index 4bdf2866c63756c537c8a8b69faaf78c65b671dc..ce41e6710290324bac22eedc4aff8037a4e84cd5 100644
--- a/common/lib/azure/core.rb
+++ b/common/lib/azure/core.rb
@@ -16,7 +16,8 @@
require 'rubygems'
require 'nokogiri'
require 'faraday'
-require 'faraday_middleware'
+require 'faraday/follow_redirects'
+require 'faraday/net_http_persistent'
module Azure
module Core
@@ -43,5 +44,4 @@ module Azure
autoload :SignerFilter, 'azure/core/http/signer_filter'
end
end
-
end
diff --git a/common/lib/azure/storage/common/autoload.rb b/common/lib/azure/storage/common/autoload.rb
index 57b1db1709af04c3aae2d89c70d3ec30b381a82f..75e144b291bf2cd5c153f1158f6bcdca9c6d641c 100644
--- a/common/lib/azure/storage/common/autoload.rb
+++ b/common/lib/azure/storage/common/autoload.rb
@@ -30,7 +30,8 @@ require "base64"
require "openssl"
require "uri"
require "faraday"
-require "faraday_middleware"
+require "faraday/follow_redirects"
+require "faraday/net_http_persistent"
require "azure/storage/common/core/autoload"
require "azure/storage/common/default"
diff --git a/common/lib/azure/storage/common/core/http_client.rb b/common/lib/azure/storage/common/core/http_client.rb
index 4fdc06f4f443bfe6288d926a5eda2cee346a2cad..0898b70ea1a824be5c7ed72ec523e51db1c5bf1d 100644
--- a/common/lib/azure/storage/common/core/http_client.rb
+++ b/common/lib/azure/storage/common/core/http_client.rb
@@ -71,7 +71,7 @@ module Azure::Storage::Common::Core
URI::parse(ENV["HTTPS_PROXY"])
end || nil
Faraday.new(uri, ssl: ssl_options, proxy: proxy_options) do |conn|
- conn.use FaradayMiddleware::FollowRedirects
+ conn.use Faraday::FollowRedirects::Middleware
conn.adapter :net_http_persistent, pool_size: 5 do |http|
# yields Net::HTTP::Persistent
http.idle_timeout = 100
diff --git a/file/Gemfile b/file/Gemfile
index 388aaafa081a42c997ce62487f301a4762a4d4ac..2dc669b4c2d2d04849723ef46ee1b830ee19b842 100644
--- a/file/Gemfile
+++ b/file/Gemfile
@@ -25,6 +25,8 @@
#--------------------------------------------------------------------------
source "https://rubygems.org"
+gem 'azure-storage-common', path: '../common'
+
gemspec name: "azure-storage-file"
gem "coveralls", require: false
diff --git a/file/azure-storage-file.gemspec b/file/azure-storage-file.gemspec
index 6f5f7393127c8b661e9cc9ec63f0e7b26f6486c9..dc3c7e5dd8ecd681da14ccf50034ce68d7e39805 100644
--- a/file/azure-storage-file.gemspec
+++ b/file/azure-storage-file.gemspec
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 2.3.0"
- s.add_runtime_dependency("azure-storage-common", "~> 2.0")
+ s.add_runtime_dependency("azure-storage-common")
s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
s.add_development_dependency("dotenv", "~> 2.0")
s.add_development_dependency("minitest", "~> 5")
diff --git a/queue/Gemfile b/queue/Gemfile
index 91b4043e04da1b948e6031c40c31af41e685d2ef..ff3c04130fc36039e867c127d3ed38920ed98539 100644
--- a/queue/Gemfile
+++ b/queue/Gemfile
@@ -25,6 +25,8 @@
#--------------------------------------------------------------------------
source "https://rubygems.org"
+gem 'azure-storage-common', path: '../common'
+
gemspec name: "azure-storage"
gem "coveralls", require: false
diff --git a/queue/azure-storage-queue.gemspec b/queue/azure-storage-queue.gemspec
index 1295bd3080de1c9007fd785e66bce8e1c262ff64..1f5cede6c3721b522d5a96555b2247e5c4c382de 100644
--- a/queue/azure-storage-queue.gemspec
+++ b/queue/azure-storage-queue.gemspec
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 2.3.0"
- s.add_runtime_dependency("azure-storage-common", "~> 2.0")
+ s.add_runtime_dependency("azure-storage-common")
s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
s.add_development_dependency("dotenv", "~> 2.0")
s.add_development_dependency("minitest", "~> 5")
diff --git a/table/Gemfile b/table/Gemfile
index 0b659b583b0556aa40c983755fa864202e90541e..831418108380a7f86b7addcd651cf6244170e3bd 100644
--- a/table/Gemfile
+++ b/table/Gemfile
@@ -25,6 +25,8 @@
#--------------------------------------------------------------------------
source "https://rubygems.org"
+gem 'azure-storage-common', path: '../common'
+
gemspec name: "azure-storage-table"
gem "coveralls", require: false
diff --git a/table/azure-storage-table.gemspec b/table/azure-storage-table.gemspec
index 1c78ea4f3938de633c081634ba2f28b7ac129db8..2c87be4181471a21320d3664561ca7e69c8cc627 100644
--- a/table/azure-storage-table.gemspec
+++ b/table/azure-storage-table.gemspec
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
s.required_ruby_version = ">= 2.3.0"
- s.add_runtime_dependency("azure-storage-common", "~> 2.0")
+ s.add_runtime_dependency("azure-storage-common")
s.add_runtime_dependency("nokogiri", "~> 1", ">= 1.10.8")
s.add_development_dependency("dotenv", "~> 2.0")
s.add_development_dependency("minitest", "~> 5")
diff --git a/table/lib/azure/storage/table/table_service.rb b/table/lib/azure/storage/table/table_service.rb
index 6357b6458a433ea266e9e1c53abe6e90a9fdcedb..b3f040b17718ba4875f9d91d02df747fdb9a071c 100644
--- a/table/lib/azure/storage/table/table_service.rb
+++ b/table/lib/azure/storage/table/table_service.rb
@@ -24,6 +24,7 @@
# THE SOFTWARE.
#--------------------------------------------------------------------------
require "azure/storage/table/auth/shared_key"
+require "cgi"
module Azure::Storage
include Azure::Storage::Common::Service
@@ -741,14 +742,7 @@ module Azure::Storage
protected
def encodeODataUriValue(value)
- # Replace each single quote (') with double single quotes ('') not double
- # quotes (")
- value = value.gsub("'", "''")
-
- # Encode the special URL characters
- value = URI.escape(value)
-
- value
+ CGI.escape(value)
end
protected