Class: Pakyow::Processes::Proxy::Server
- Inherits:
-
Object
- Object
- Pakyow::Processes::Proxy::Server
- Defined in:
- lib/pakyow/processes/proxy.rb
Instance Method Summary collapse
- #call(request, total_waits = 0) ⇒ Object
-
#initialize(port:, host:, forwarded:) ⇒ Server
constructor
A new instance of Server.
Constructor Details
#initialize(port:, host:, forwarded:) ⇒ Server
Returns a new instance of Server.
40 41 42 43 44 45 46 47 48 |
# File 'lib/pakyow/processes/proxy.rb', line 40 def initialize(port:, host:, forwarded:) @port, @host, @forwarded = port, host, forwarded @destination = "#{@host}:#{@port}" @client = Async::HTTP::Client.new( Async::HTTP::Endpoint.parse( File.join("http://#{@destination}") ) ) end |
Instance Method Details
#call(request, total_waits = 0) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/pakyow/processes/proxy.rb', line 50 def call(request, total_waits = 0) @client.call(request) rescue if total_waits == 30 Async::HTTP::Protocol::Response.new( nil, 404, [], Async::HTTP::Body::Buffered.wrap( StringIO.new("app did not respond") ) ) else Async::Task.current.sleep 0.5 call(request, total_waits + 1) end end |