Sha256: 16a8889c69cd4247e4eb41391bdf41bdac2c2b2812ec9c5fc639eb1d06db358e
Contents?: true
Size: 1.11 KB
Versions: 6
Compression:
Stored size: 1.11 KB
Contents
require 'arachni/rpc' # @note Needs `ENV['WEB_SERVER_DISPATCHER']` in the format of `host:port`. # # {WebServerManager}-API-compatible client for the {WebServerDispatcher}. # # Delegates test webserver creation to the machine running {WebServerDispatcher}, # for hosts that lack support for fast servers (like Windows, which can't run # Thin, Puma etc.). # # @author Tasos "Zapotek" Laskos <tasos.laskos@gmail.com> class WebServerClient < Arachni::RPC::Proxy include Singleton def initialize( options = {} ) @host, port = ENV['WEB_SERVER_DISPATCHER'].split( ':' ) Arachni::Reactor.global.run_in_thread if !Arachni::Reactor.global.running? client = Arachni::RPC::Client.new( host: @host, port: port ) super client, 'server' end def protocol_for( name ) name.to_s.include?( 'https' ) ? 'https' : 'http' end def address_for( name ) @host end def up?( name ) Typhoeus.get( url_for( name, false ), ssl_verifypeer: false, ssl_verifyhost: 0, forbid_reuse: true ).code != 0 end end
Version data entries
6 entries across 6 versions & 1 rubygems