fluke/devops-service/app/client/devops-client.rb

59 lines
1.4 KiB
Ruby
Raw Normal View History

2014-05-08 15:34:26 +04:00
require 'sinatra/base'
2015-07-16 12:54:16 +03:00
require 'core/devops-logger'
2015-07-16 13:19:33 +03:00
require 'core/devops-config'
2014-05-08 15:34:26 +04:00
class Client < Sinatra::Base
2015-06-25 11:13:46 +03:00
def initialize
2014-05-08 15:34:26 +04:00
super()
2015-06-25 11:13:46 +03:00
@@config = DevopsConfig.config
2014-05-08 15:34:26 +04:00
end
2015-07-16 12:54:16 +03:00
configure :production do
2015-07-16 13:19:33 +03:00
config = DevopsConfig.config
log_file = File.join(config[:log_dir], "devops-client.log")
logger = DevopsLogger.create(log_file, Logger::INFO)
2015-07-16 12:54:16 +03:00
use Rack::CommonLogger, logger
disable :dump_errors
disable :show_exceptions
# set :logging, Logger::INFO
logger.info "Production mode"
end
configure :development do
2015-07-16 13:19:33 +03:00
config = DevopsConfig.config
log_file = File.join(config[:log_dir], "devops-client.log")
logger = DevopsLogger.create(log_file, Logger::DEBUG)
2015-07-16 12:54:16 +03:00
use Rack::CommonLogger, logger
# set :logging, Logger::DEBUG
disable :raise_errors
# disable :dump_errors
set :show_exceptions, :after_handler
logger.info "Development mode"
end
2014-05-08 15:34:26 +04:00
# 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
2015-06-25 11:13:46 +03:00