class Proxy

Public Class Methods

new(hostname) click to toggle source
# File lib/proxy.rb, line 4
def initialize(hostname)
  @hostname = 'http://www.tutorialspoint.com/'
end

Public Instance Methods

fix_input(input) click to toggle source
# File lib/proxy.rb, line 39
def fix_input(input)
  input.gsub(/localhost:12345/, "#{@hostname}:80")
end
injected_output(request) click to toggle source
# File lib/proxy.rb, line 28
def injected_output(request)
  socket = TCPSocket.open(@hostname, 80)
  puts "Sending request"
  request_to_send = "#{request}\r\n\r\n"
  socket.print(request_to_send)
  puts "Getting Response"
  response = socket.read
  socket.close
  response
end
start() click to toggle source
# File lib/proxy.rb, line 8
def start
  server = TCPServer.open(12345)

  loop do
    Thread.start(server.accept) do |client|
      socket = TCPSocket.open(@hostname, 80)
      while line = client.gets
        socket.print line
        client.send socket.read
      end
      # input = fix_input(client.recv(1024))
      # puts "Input: #{input}"
      # output = injected_output(input)
      # puts "Sending: #{output}"
      # client.puts output
      client.close
    end
  end
end