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