Sha256: 8325c8c55f7d9604dfdd47ed73bf0cbdd833dbd408d9ba067fe79f74413e33e1

Contents?: true

Size: 936 Bytes

Versions: 104

Compression:

Stored size: 936 Bytes

Contents

if ENV['SPOOF_IP'] =~ /^(true|t|yes|y)$/
  Rails.application.config.middleware.use 'SpoofIpMiddleware', ENV['SPOOF_IP'] # will use whatismyipaddress.com if not set
end

BEGIN {
  class SpoofIpMiddleware
    require 'open-uri'

    def initialize(app, ip)
      @app = app
      @ip = if /\d{2,3}\.\d{2,3}\.\d{2,3}\.\d{2,3}/.match(ip)
              ip
            else
              f = open('http://whatismyipaddress.com/')
              body = f.read
              /\d{2,3}\.\d{2,3}\.\d{2,3}\.\d{2,3}/i.match(body).to_s
            end
      puts %%
        ############## Spoof IP ################
        # Overriding IP address to #{@ip}
        ########################################
      %
    rescue
      # Service unavailable
    end

    def call(env)
      env['REMOTE_ADDR'] = env['action_dispatch.remote_ip'] = @ip
      @status, @headers, @response = @app.call(env)
      [@status, @headers, @response]
    end
  end
}

Version data entries

104 entries across 103 versions & 3 rubygems

Version Path
mvpkit-2.0.2 project/config/initializers/spoof_ip.rb
mvpkit-2.0.1 project/config/initializers/spoof_ip.rb
mvpkit-2.0.0 project/config/initializers/spoof_ip.rb
mvpkit-1.1.2 config/initializers/spoof_ip.rb
mvpkit-1.1.1 config/initializers/spoof_ip.rb
mvpkit-1.1.0 config/initializers/spoof_ip.rb
mvpkit-1.0.4 config/initializers/spoof_ip.rb
mvpkit-1.0.3 config/initializers/spoof_ip.rb
mvpkit-1.0.2 config/initializers/spoof_ip.rb
mvpkit-1.0.1 config/initializers/spoof_ip.rb
mvpkit-1.0.0 config/initializers/spoof_ip.rb
mvpkit-0.8.1 config/initializers/spoof_ip.rb
mvpkit-0.8.0 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.15 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.14 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.13 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.12 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.11 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.10 config/initializers/spoof_ip.rb
minimum_viable_product-0.7.9 config/initializers/spoof_ip.rb