mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-02 18:47:22 -05:00 
			
		
		
		
	fileserver: set Range header for precompressed static files to force Content Length header to appear (#7042)
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									b9710c6af4
								
							
						
					
					
						commit
						67debd0e11
					
				@ -457,7 +457,14 @@ func (fsrv *FileServer) ServeHTTP(w http.ResponseWriter, r *http.Request, next c
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		defer file.Close()
 | 
							defer file.Close()
 | 
				
			||||||
		respHeader.Set("Content-Encoding", ae)
 | 
							respHeader.Set("Content-Encoding", ae)
 | 
				
			||||||
		respHeader.Del("Accept-Ranges")
 | 
					
 | 
				
			||||||
 | 
							// stdlib won't set Content-Length if Content-Encoding is set.
 | 
				
			||||||
 | 
							// set Range header if it's not present will force Content-Length to be set
 | 
				
			||||||
 | 
							if r.Header.Get("Range") == "" {
 | 
				
			||||||
 | 
								r.Header.Set("Range", "bytes=0-")
 | 
				
			||||||
 | 
								// remove this header, because it is not part of the request
 | 
				
			||||||
 | 
								defer r.Header.Del("Range")
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// try to get the etag from pre computed files if an etag suffix list was provided
 | 
							// try to get the etag from pre computed files if an etag suffix list was provided
 | 
				
			||||||
		if etag == "" && fsrv.EtagFileExtensions != nil {
 | 
							if etag == "" && fsrv.EtagFileExtensions != nil {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user