Sha256: 2bdf0af2c8bfa1bd1f3fede32bbd979a0799d097d2cee91fcc027f95d98b7621
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
$:.unshift File.dirname(__FILE__) require 'webrick' require 'source_file_handler' require 'about_handler' require 'net/http' module BuildMaster class SiteServer def initialize(spec, port_number=2000, log_file=$stdout, level=WEBrick::Log::INFO, access_log=nil) @spec = spec @port_number = port_number @log_file = log_file @level = level @access_log = access_log end def start puts 'starting server...' mime_types = WEBrick::HTTPUtils::DefaultMimeTypes.update( {"textile" => "text/plain", 'markdown' => 'text/plain'} ) @server = WEBrick::HTTPServer.new( :Port => @port_number, :Logger => WEBrick::Log.new(@log_file, @level), :MimeTypes => mime_types, :AccessLog => @access_log ) @server.mount('/', SourceFileHandler, @spec) @server.mount('/source', WEBrick::HTTPServlet::FileHandler, @spec.content_dir.path, true) @server.mount('/about', AboutHandler, @spec) @server.start end def stop @started = false @server.shutdown end def running? return false unless @server url = URI.parse("http://localhost:#{@port_number}/") request = Net::HTTP::Get.new(url.path) begin res = Net::HTTP.start(url.host, url.port) {|http| http.read_timeout=5 http.request(request) } puts "response: #{res}" rescue Errno::EBADF, Errno::ECONNREFUSED => e return false end return true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
BuildMaster-1.1.9 | lib/buildmaster/site/site_server.rb |