Merge pull request #11517 from n-thumann/page_content_both_headers

Try getting page content with both headers
This commit is contained in:
Mike McQuaid 2021-06-15 12:44:38 +01:00 committed by GitHub
commit 06124a4ca6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -179,17 +179,14 @@ module Homebrew
def self.page_content(url)
original_url = url
stderr = nil
[:default, :browser].each do |user_agent|
stdout, stderr, status = curl_with_workarounds(
*PAGE_CONTENT_CURL_ARGS, url,
**DEFAULT_CURL_OPTIONS
**DEFAULT_CURL_OPTIONS,
user_agent: user_agent
)
unless status.success?
/^(?<error_msg>curl: \(\d+\) .+)/ =~ stderr
return {
messages: [error_msg.presence || "cURL failed without an error"],
}
end
next unless status.success?
# stdout contains the header information followed by the page content.
# We use #scrub here to avoid "invalid byte sequence in UTF-8" errors.
@ -218,7 +215,13 @@ module Homebrew
data = { content: output }
data[:final_url] = final_url if final_url.present? && final_url != original_url
data
return data
end
/^(?<error_msg>curl: \(\d+\) .+)/ =~ stderr
{
messages: [error_msg.presence || "cURL failed without an error"],
}
end
end
end