From 64bb92d95d93494e6041d1b119a91d8a945c4477 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Thu, 2 Aug 2018 15:41:44 +0200 Subject: [PATCH] Use `URI.encode_www_form` instead of `CGI.escape`. --- Library/Homebrew/download_strategy.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index f16ee9ad92..ab5fd6543e 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -1,4 +1,3 @@ -require "cgi" require "json" require "rexml/document" require "time" @@ -268,7 +267,7 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy args = [] if meta.key?(:cookies) - escape_cookie = ->(k, v) { "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" } + escape_cookie = ->(cookie) { URI.encode_www_form([cookie]) } args += ["-b", meta.fetch(:cookies).map(&escape_cookie).join(";")] end @@ -343,7 +342,7 @@ end class CurlPostDownloadStrategy < CurlDownloadStrategy def _fetch base_url, data = if meta.key?(:data) - escape_data = ->(k, v) { ["-d", "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}"] } + escape_data = ->(d) { ["-d", URI.encode_www_form([d])] } [@url, meta[:data].flat_map(&escape_data)] else @url.split("?", 2)