fluke/devops-service/app/client/devops-client.rb
2015-07-16 12:54:16 +03:00

54 lines
1.2 KiB
Ruby

require 'sinatra/base'
require 'core/devops-logger'
class Client < Sinatra::Base
def initialize
super()
@@config = DevopsConfig.config
end
configure :production do
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::INFO)
use Rack::CommonLogger, logger
disable :dump_errors
disable :show_exceptions
# set :logging, Logger::INFO
logger.info "Production mode"
end
configure :development do
logger = DevopsLogger.create("/tmp/devops-client.log", Logger::DEBUG)
use Rack::CommonLogger, logger
# set :logging, Logger::DEBUG
disable :raise_errors
# disable :dump_errors
set :show_exceptions, :after_handler
logger.info "Development mode"
end
# Route to download devops client
get "/devops-client.gem" do
begin
send_file @@config[:client_file]
rescue
msg = "No file '#{@@config[:client_file]}' found"
logger.error msg
return [404, msg]
end
end
# Route to get client documentation
get "/ru/index.html" do
file = File.join(@@config[:public_dir], "ru_index.html")
if File.exist? file
File.read(file)
else
logger.error "File '#{file}' does not exist"
return [404, "File '/ru/index.html' does not exist"]
end
end
end