From 5cf7a82bfed9cdcef49ad72306a2bca88ad100be Mon Sep 17 00:00:00 2001 From: Tank Tang <kat@microsoft.com> Date: Mon, 2 Mar 2020 18:11:48 +0800 Subject: [PATCH] Resolved UTF-8 request cannot be authorized issue in Faraday 1.0.0 --- common/lib/azure/core/auth/shared_key.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common/lib/azure/core/auth/shared_key.rb b/common/lib/azure/core/auth/shared_key.rb index fb29ce7..54f4690 100644 --- a/common/lib/azure/core/auth/shared_key.rb +++ b/common/lib/azure/core/auth/shared_key.rb @@ -57,6 +57,14 @@ module Azure # # @return [Azure::Core::Http::HttpRequest] def sign_request(req) + # Need to make sure Content-Length is correctly set. + if ((!req.body.nil?)) then + if (req.body.respond_to? :bytesize) then + req.headers['Content-Length'] = req.body.bytesize.to_s + elsif (req.body.respond_to? :size) + req.headers['Content-Length'] = req.body.size.to_s + end + end req.headers['Authorization'] = "#{name} #{sign(req.method, req.uri, req.headers)}" req end -- GitLab