| 
									
										
										
										
											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 | 
					
						
							| 
									
										
										
										
											2015-08-06 14:02:10 +03:00
										 |  |  |     log_file = File.join(config[:log_dir], "devops-client.access.log") | 
					
						
							| 
									
										
										
										
											2015-07-16 13:19:33 +03:00
										 |  |  |     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 | 
					
						
							|  |  |  |     logger.info "Production mode" | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   configure :development do | 
					
						
							| 
									
										
										
										
											2015-08-06 14:02:10 +03:00
										 |  |  | #    config = DevopsConfig.config | 
					
						
							|  |  |  | #    log_file = File.join(config[:log_dir], "devops-client.log") | 
					
						
							|  |  |  |     logger = DevopsLogger.create(STDOUT, Logger::DEBUG) | 
					
						
							| 
									
										
										
										
											2015-07-16 12:54:16 +03:00
										 |  |  |     use Rack::CommonLogger, logger | 
					
						
							|  |  |  |     disable :raise_errors | 
					
						
							|  |  |  | #      disable :dump_errors | 
					
						
							|  |  |  |     set :show_exceptions, :after_handler | 
					
						
							|  |  |  |     logger.info "Development mode" | 
					
						
							| 
									
										
										
										
											2015-08-06 14:02:10 +03:00
										 |  |  |     DevopsLogger.level = Logger::DEBUG | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =begin | 
					
						
							|  |  |  |   before do | 
					
						
							|  |  |  |     env["rack.errors"] =  error_logger | 
					
						
							| 
									
										
										
										
											2015-07-16 12:54:16 +03:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2015-08-06 14:02:10 +03:00
										 |  |  | =end | 
					
						
							| 
									
										
										
										
											2015-07-16 12:54:16 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											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
										 |  |  | 
 |