Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 0.72 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. require 'rubygems'
  2. require 'em-proxy'
  3. require 'logger'
  4. require 'log_buddy'
  5.  
  6. LogBuddy.init #:default_logger => Logger.new("interceptor.log")
  7.  
  8. Proxy.start(:host => "0.0.0.0", :port => 8888) do |conn|
  9.   conn.server :srv, :host => "10.0.1.50", :port => 8888
  10.  
  11.   conn.on_data do |data|
  12.     # p [:on_data, data]
  13.  
  14.     if data and data.first =~ /^(POST|GET) (.*) /
  15.       method = $1
  16.       url = $2
  17.       # p [method.to_sym, url]
  18.       # p [:data, data]
  19.       LogBuddy.logger.info [method.to_sym, url]
  20.       LogBuddy.logger.info [:data, data]
  21.     end
  22.  
  23.     data
  24.   end
  25.  
  26.   conn.on_response do |backend, resp|
  27.     LogBuddy.logger.info [:backend, backend]
  28.     # LogBuddy.logger.info [:resp, resp]
  29.     resp
  30.   end
  31. end