Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Proxy
  def initialize on_port, to_port
    @proxy_server = create_server on_port
    map_routes to_port
  end

  def create_server port
    proxy_server = WEBrick::HTTPServer.new :Port => port   # need this stubbed
    trap("INT") { proxy_server.shutdown }
    proxy_server
  end

  def map_routes on_port
    @proxy_server.mount_proc '/' do |request, response|
      from_path = resolve request
      server_response = fetch from_path, on_port
      case server_response
      when Net::HTTPSuccess
        response.body = server_response.body
      else
        response.body = 'Request not found!'
      end
    end
  end

  def fetch path, on_port
    uri = create_uri path[0], on_port
    response = Net::HTTP.get_response(uri)
  end
end