#coding=utf-8 # require 'socket' class ResponseIp def initialize(app) @app = app end def ip addr = Socket.ip_address_list.detect{|intf| intf.ipv4_private?}.ip_address rescue addr || '' end def call(env) status, headers, body = @app.call(env) headers["X-response-ip"] = ip [status, headers, body] end end