Class: Cloudfront::Rails::Railtie::Importer
- Inherits:
-
Object
- Object
- Cloudfront::Rails::Railtie::Importer
- Includes:
- HTTParty
- Defined in:
- lib/cloudfront/rails/railtie.rb
Defined Under Namespace
Classes: ResponseError
Class Method Summary collapse
Class Method Details
.fetch ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/cloudfront/rails/railtie.rb', line 33 def fetch resp = get "/ip-ranges.json", timeout: ::Rails.application.config.cloudfront.timeout if resp.success? json = ActiveSupport::JSON.decode resp trusted_ipv4_proxies = json["prefixes"].map do |details| IPAddr.new(details["ip_prefix"]) end trusted_ipv6_proxies = json["ipv6_prefixes"].map do |details| IPAddr.new(details["ipv6_prefix"]) end trusted_ipv4_proxies + trusted_ipv6_proxies else raise ResponseError.new(resp.response) end end |
.fetch_with_cache ⇒ Object
53 54 55 56 57 58 |
# File 'lib/cloudfront/rails/railtie.rb', line 53 def fetch_with_cache ::Rails.cache.fetch("cloudfront-rails-ips", expires_in: ::Rails.application.config.cloudfront.expires_in) do self.fetch end end |