mirror of
				https://gitea.invidious.io/iv-org/shard-kemal.git
				synced 2024-08-15 00:53:36 +00:00 
			
		
		
		
	Upgrade to Crystal 0.35.0 (#570)
* Update to ameba ~> 0.12.0 * Use Compress::Deflate and Compress::Gzip * Drop unused require * Fix spec due to defer request upgrade
This commit is contained in:
		
							parent
							
								
									70684a2cf0
								
							
						
					
					
						commit
						a8c0f09b85
					
				
					 4 changed files with 26 additions and 13 deletions
				
			
		|  | @ -1,5 +1,7 @@ | |||
| require "flate" | ||||
| require "gzip" | ||||
| {% if compare_versions(Crystal::VERSION, "0.35.0-0") >= 0 %} | ||||
|   require "compress/deflate" | ||||
|   require "compress/gzip" | ||||
| {% end %} | ||||
| require "mime" | ||||
| 
 | ||||
| # Adds given `Kemal::Handler` to handlers chain. | ||||
|  | @ -142,14 +144,26 @@ def send_file(env : HTTP::Server::Context, path : String, mime_type : String? = | |||
|     condition = config.is_a?(Hash) && config["gzip"]? == true && filesize > minsize && Kemal::Utils.zip_types(file_path) | ||||
|     if condition && request_headers.includes_word?("Accept-Encoding", "gzip") | ||||
|       env.response.headers["Content-Encoding"] = "gzip" | ||||
|       Gzip::Writer.open(env.response) do |deflate| | ||||
|         IO.copy(file, deflate) | ||||
|       end | ||||
|       {% if compare_versions(Crystal::VERSION, "0.35.0-0") >= 0 %} | ||||
|         Compress::Gzip::Writer.open(env.response) do |deflate| | ||||
|           IO.copy(file, deflate) | ||||
|         end | ||||
|       {% else %} | ||||
|         Gzip::Writer.open(env.response) do |deflate| | ||||
|           IO.copy(file, deflate) | ||||
|         end | ||||
|       {% end %} | ||||
|     elsif condition && request_headers.includes_word?("Accept-Encoding", "deflate") | ||||
|       env.response.headers["Content-Encoding"] = "deflate" | ||||
|       Flate::Writer.open(env.response) do |deflate| | ||||
|         IO.copy(file, deflate) | ||||
|       end | ||||
|       {% if compare_versions(Crystal::VERSION, "0.35.0-0") >= 0 %} | ||||
|         Compress::Deflate::Writer.open(env.response) do |deflate| | ||||
|           IO.copy(file, deflate) | ||||
|         end | ||||
|       {% else %} | ||||
|         Flate::Writer.open(env.response) do |deflate| | ||||
|           IO.copy(file, deflate) | ||||
|         end | ||||
|       {% end %} | ||||
|     else | ||||
|       env.response.content_length = filesize | ||||
|       IO.copy(file, env.response) | ||||
|  |  | |||
|  | @ -1,7 +1,3 @@ | |||
| {% if !flag?(:without_zlib) %} | ||||
|   require "zlib" | ||||
| {% end %} | ||||
| 
 | ||||
| module Kemal | ||||
|   class StaticFileHandler < HTTP::StaticFileHandler | ||||
|     # ameba:disable Metrics/CyclomaticComplexity | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue