Last active
August 29, 2015 14:19
-
-
Save krishan/3049c149a61864625678 to your computer and use it in GitHub Desktop.
Hotfix for Scrivito Bug
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # put this into config/initializers/scrivito_monkey_patch.rb | |
| scrivito_version = Gem.loaded_specs["scrivito"].version | |
| checked_versions = [">= 0.30.0", "<= 0.50.0"] | |
| requirement = Gem::Requirement.new(checked_versions) | |
| if !requirement.satisfied_by?(Gem::Version.new(scrivito_version)) | |
| raise "this monkey patch was designed for scrivito versions #{checked_versions}. "\ | |
| "you upgraded scrivito to #{scrivito_version}, please ensure it still applies and works" | |
| end | |
| # ensure the target class has been loaded | |
| Scrivito::CmsBackend | |
| module Scrivito | |
| class CmsBackend | |
| private | |
| # overwriting this method | |
| # note that only a single line is actually changed | |
| def request_blob_metadata_from_s3(url) | |
| uri = URI.parse(url) | |
| retried = false | |
| begin | |
| ### this line contains the actual patch | |
| # before, buggy: | |
| # response = ConnectionManager.request(uri, Net::HTTP::Head.new(uri.path)) | |
| # better: | |
| response = ConnectionManager.request(uri, Net::HTTP::Head.new(uri)) | |
| @query_counter += 1 | |
| rescue NetworkError | |
| raise if retried | |
| retried = true | |
| retry | |
| end | |
| raise ScrivitoError, "S3 responded with #{response.code}" unless response.code == '200' | |
| { | |
| content_length: response['content-length'], | |
| content_type: response['content-type'], | |
| cache_control: response['cache-control'], | |
| } | |
| end | |
| end | |
| end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Mittlerweile in Version
0.60.0.rc1und0.50.1nicht mehr notwendig.