mirror of
				https://gitea.invidious.io/iv-org/shard-kemal.git
				synced 2024-08-15 00:53:36 +00:00 
			
		
		
		
	Allow config.server to be lazily initiliazed. Fixes #396
This commit is contained in:
		
							parent
							
								
									61caa077b7
								
							
						
					
					
						commit
						ad692357d4
					
				
					 2 changed files with 10 additions and 10 deletions
				
			
		
							
								
								
									
										15
									
								
								src/kemal.cr
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								src/kemal.cr
									
										
									
									
									
								
							|  | @ -32,11 +32,6 @@ module Kemal | |||
|     config.setup | ||||
|     config.port = port if port | ||||
| 
 | ||||
|     config.server = HTTP::Server.new(config.host_binding, config.port, config.handlers) | ||||
|     {% if !flag?(:without_openssl) %} | ||||
|     config.server.tls = config.ssl | ||||
|     {% end %} | ||||
| 
 | ||||
|     unless Kemal.config.error_handlers.has_key?(404) | ||||
|       error 404 do |env| | ||||
|         render_404 | ||||
|  | @ -63,15 +58,21 @@ module Kemal | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     server = HTTP::Server.new(config.host_binding, config.port, config.handlers) | ||||
|     {% if !flag?(:without_openssl) %} | ||||
|     server.tls = config.ssl | ||||
|     {% end %} | ||||
|     config.server ||= server | ||||
|     config.running = true | ||||
| 
 | ||||
|     yield config | ||||
|     config.server.listen if config.env != "test" | ||||
|     config.server.not_nil!.listen if config.env != "test" && config.server | ||||
|   end | ||||
| 
 | ||||
|   def self.stop | ||||
|     if config.running | ||||
|       if config.server | ||||
|         config.server.close | ||||
|         config.server.not_nil!.close | ||||
|         config.running = false | ||||
|       else | ||||
|         raise "Kemal.config.server is not set. Please use Kemal.run to set the server." | ||||
|  |  | |||
|  | @ -20,7 +20,7 @@ module Kemal | |||
| 
 | ||||
|     getter custom_handler_position | ||||
|     property host_binding, ssl, port, env, public_folder, logging, running | ||||
|     property always_rescue, server, extra_options, shutdown_message | ||||
|     property always_rescue, server : HTTP::Server?, extra_options, shutdown_message | ||||
|     property serve_static : (Bool | Hash(String, Bool)) | ||||
|     property static_headers : (HTTP::Server::Response, String, File::Stat -> Void)? | ||||
| 
 | ||||
|  | @ -34,7 +34,6 @@ module Kemal | |||
|       @logger = nil | ||||
|       @error_handler = nil | ||||
|       @always_rescue = true | ||||
|       @server = uninitialized HTTP::Server | ||||
|       @router_included = false | ||||
|       @default_handlers_setup = false | ||||
|       @running = false | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue