Advertisement
Guest User

Untitled

a guest
May 21st, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. require 'rubygems'
  2. require 'eventmachine'
  3. require 'evma_httpserver'
  4.  
  5. class Handler < EventMachine::Connection
  6. include EventMachine::HttpServer
  7.  
  8. def process_http_request
  9. resp = EventMachine::DelegatedHttpResponse.new( self )
  10. resp.keep_connection_open(false)
  11.  
  12. http = EM::Protocols::HttpClient.request(
  13. :host=>"67.202.54.149",
  14. :port=>8080,
  15. :request=>"/test.js"
  16. )
  17.  
  18. # once download is complete, send it to client
  19. http.callback do |r|
  20. resp.status = 200
  21. resp.content = r[:content]
  22. resp.send_response
  23. end
  24.  
  25. http.errback do |r|
  26. p 'fail'
  27. resp.status = 500
  28. resp.send_response
  29. end
  30.  
  31. end
  32. end
  33.  
  34. EventMachine.epoll
  35. EventMachine::run {
  36. EventMachine::start_server("0.0.0.0", 8082, Handler)
  37. puts "Listening..."
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement