gopherorg 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							33c88bd2bb 
							
						 
					 
					
						
						
							
							refactor: replace HasPrefix+TrimPrefix with CutPrefix ( #7095 )  
						
						... 
						
						
						
						Signed-off-by: gopherorg <gopherworld@icloud.com> 
						
						
					 
					
						2025-06-27 22:04:09 +03:00 
						 
				 
			
				
					
						
							
							
								Jimmy Lipham 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							94147caf31 
							
						 
					 
					
						
						
							
							fileserver: map invalid path errors to fs.ErrInvalid, and return 400 for any invalid path errors. ( close   #7008 ) ( #7017 )  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.24.1, ubuntu-latest, 0, 1.24, linux) (push) Failing after 1m18s 
				
			 
		
			
				
	Tests / test (s390x on IBM Z) (push) Has been skipped 
				
			 
		
			
				
	Tests / goreleaser-check (push) Has been skipped 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, aix) (push) Successful in 1m12s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, darwin) (push) Successful in 1m13s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, dragonfly) (push) Successful in 1m12s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, freebsd) (push) Successful in 1m12s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, illumos) (push) Successful in 1m15s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, linux) (push) Successful in 1m12s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, netbsd) (push) Successful in 1m12s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, openbsd) (push) Successful in 1m36s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, solaris) (push) Successful in 1m22s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, windows) (push) Successful in 1m15s 
				
			 
		
			
				
	Lint / lint (ubuntu-latest, linux) (push) Successful in 1m46s 
				
			 
		
			
				
	Lint / govulncheck (push) Successful in 1m15s 
				
			 
		
			
				
	Lint / lint (macos-14, mac) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (windows-latest, windows) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.24.1, macos-14, 0, 1.24, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.24.1, windows-latest, True, 1.24, windows) (push) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-05-13 07:43:27 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5a6b2f8d1d 
							
						 
					 
					
						
						
							
							events: Refactor; move Event into core, so core can emit events ( #6930 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.24.1, ubuntu-latest, 0, 1.24, linux) (push) Failing after 2m46s 
				
			 
		
			
				
	Tests / test (s390x on IBM Z) (push) Has been skipped 
				
			 
		
			
				
	Tests / goreleaser-check (push) Has been skipped 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, aix) (push) Successful in 2m49s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, darwin) (push) Successful in 2m10s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, dragonfly) (push) Successful in 1m40s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, freebsd) (push) Successful in 1m50s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, illumos) (push) Successful in 1m49s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, linux) (push) Successful in 2m4s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, netbsd) (push) Successful in 2m7s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, openbsd) (push) Successful in 2m2s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, solaris) (push) Successful in 3m30s 
				
			 
		
			
				
	Cross-Build / build (~1.24.1, 1.24, windows) (push) Successful in 2m56s 
				
			 
		
			
				
	Lint / lint (ubuntu-latest, linux) (push) Failing after 1m17s 
				
			 
		
			
				
	Lint / govulncheck (push) Successful in 2m18s 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.24.1, macos-14, 0, 1.24, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.24.1, windows-latest, True, 1.24, windows) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (macos-14, mac) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (windows-latest, windows) (push) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						* events: Refactor; move Event into core, so core can emit events
Requires some slight trickery to invert dependencies. We can't have the caddy package import the caddyevents package, because caddyevents imports caddy. Interface to the rescue!
Also add two new events, experimentally: started, and stopping. At the request of a sponsor.
Also rename "Filesystems" to "FileSystems" to match Go convention (unrelated to events, was just bugging me when I noticed it).
* Coupla bug fixes
* lol whoops 
						
						
					 
					
						2025-03-29 08:15:43 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							315715e90f 
							
						 
					 
					
						
						
							
							core: Implement FastAbs to avoid repeated os.Getwd calls ( #6687 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / test (s390x on IBM Z) (push) Has been skipped 
				
			 
		
			
				
	Tests / goreleaser-check (push) Has been skipped 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, aix) (push) Successful in 1m24s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, darwin) (push) Successful in 1m28s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 1m26s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 1m23s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, illumos) (push) Successful in 1m25s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, linux) (push) Successful in 1m26s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 1m25s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Successful in 1m23s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, solaris) (push) Successful in 1m24s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 1m25s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 2m13s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 1m17s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Successful in 1m15s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Successful in 1m16s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, illumos) (push) Successful in 1m18s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 1m17s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 1m17s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 1m15s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 1m15s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, windows) (push) Successful in 1m16s 
				
			 
		
			
				
	Lint / lint (ubuntu-latest, linux) (push) Successful in 1m53s 
				
			 
		
			
				
	Lint / govulncheck (push) Successful in 1m44s 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (macos-14, mac) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (windows-latest, windows) (push) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						* core: Implement FastAbs to avoid repeated os.Getwd calls
* Lint
* Rename files 
						
						
					 
					
						2024-11-13 03:55:51 -05:00 
						 
				 
			
				
					
						
							
							
								Kévin Dunglas 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f4bf4e0097 
							
						 
					 
					
						
						
							
							perf: use zap's Check() to prevent useless allocs ( #6560 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / test (s390x on IBM Z) (push) Has been skipped 
				
			 
		
			
				
	Tests / goreleaser-check (push) Successful in 40s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, aix) (push) Successful in 2m55s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 3m1s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 3m1s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 3m1s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 3m1s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, darwin) (push) Failing after 13m23s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 2m40s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, illumos) (push) Failing after 11m51s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, linux) (push) Failing after 11m47s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 2m29s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 2m39s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Failing after 13m27s 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, solaris) (push) Failing after 13m27s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 2m41s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 2m54s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 2m40s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Failing after 14m19s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Failing after 14m10s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, illumos) (push) Failing after 14m2s 
				
			 
		
			
				
	Cross-Build / build (~1.23.0, 1.23, windows) (push) Failing after 11m58s 
				
			 
		
			
				
	Lint / lint (ubuntu-latest, linux) (push) Failing after 3m44s 
				
			 
		
			
				
	Lint / govulncheck (push) Successful in 2m18s 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (macos-14, mac) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (windows-latest, windows) (push) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						* perf: use zap's Check() to prevent useless allocs
* fix
* fix
* fix
* fix
* restore previous replacer behavior
* fix linter 
						
						
					 
					
						2024-09-13 11:16:37 -06:00 
						 
				 
			
				
					
						
							
							
								lollipopkit🏳️⚧️ 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5c47c2f147 
							
						 
					 
					
						
						
							
							fileserver: browse: Configurable default sort ( #6502 )  
						
						... 
						
						
						
						* fileserver: add `sort` options
* fix: test
* fileserver: check options in `Provison`
* fileserver: more obvious err alerts in sort options
* fileserver: move `sort` to `browse`
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com> 
						
						
					 
					
						2024-08-30 09:01:37 -06:00 
						 
				 
			
				
					
						
							
							
								lollipopkit🏳️⚧️ 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b198678174 
							
						 
					 
					
						
						
							
							browse: Customizable default sort options ( #6468 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.21.0, macos-14, 0, 1.21, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.21.0, ubuntu-latest, 0, 1.21, linux) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.21.0, windows-latest, True, 1.21, windows) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Has been cancelled 
				
			 
		
			
				
	Tests / test (s390x on IBM Z) (push) Has been cancelled 
				
			 
		
			
				
	Tests / goreleaser-check (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, aix) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, darwin) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, illumos) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, linux) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, solaris) (push) Has been cancelled 
				
			 
		
			
				
	Cross-Build / build (~1.22.3, 1.22, windows) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (macos-14, mac) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (ubuntu-latest, linux) (push) Has been cancelled 
				
			 
		
			
				
	Lint / lint (windows-latest, windows) (push) Has been cancelled 
				
			 
		
			
				
	Lint / govulncheck (push) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						* fileserver: add `sort` options
* fix: test
* fileserver: check options in `Provison`
* fileserver: more obvious err alerts in sort options 
						
						
					 
					
						2024-08-05 08:27:45 -06:00 
						 
				 
			
				
					
						
							
							
								Aziz Rmadi 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c2ccf8690f 
							
						 
					 
					
						
						
							
							fileserver: Remove newline characters from precomputed etags ( #6394 )  
						
						... 
						
						
						
						* Removed newline characters from precomputed etags
* Update modules/caddyhttp/fileserver/staticfiles.go
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com> 
						
						
					 
					
						2024-06-19 13:27:10 +00:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							cabb5d71c4 
							
						 
					 
					
						
						
							
							fileserver: Set "Vary: Accept-Encoding" header (see  #5849 )  
						
						
						
						
					 
					
						2024-04-26 19:38:45 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d00824f4a6 
							
						 
					 
					
						
						
							
							fileserver: Improve Vary handling ( #5849 )  
						
						
						
						
					 
					
						2024-04-19 13:43:13 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3067074d9c 
							
						 
					 
					
						
						
							
							encode: Improve Etag handling ( fix   #5849 )  
						
						... 
						
						
						
						We also improve Last-Modified handling in the file server.
Both changes should be more compliant with RFC 9110. 
						
						
					 
					
						2024-04-17 19:12:03 -06:00 
						 
				 
			
				
					
						
							
							
								coderwander 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eafc875ea9 
							
						 
					 
					
						
						
							
							chore: fix some typos in comments ( #6243 )  
						
						
						
						
					 
					
						2024-04-16 04:10:11 +00:00 
						 
				 
			
				
					
						
							
							
								Aziz Rmadi 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							567d96c624 
							
						 
					 
					
						
						
							
							fileserver: read etags from precomputed files ( #6222 )  
						
						
						
						
					 
					
						2024-04-13 06:49:55 -04:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5a4374bea0 
							
						 
					 
					
						
						
							
							fileserver: Preserve query during canonicalization redirect ( #6109 )  
						
						... 
						
						
						
						* fileserver: Preserve query during canonicalization redirect
* Clarify that only a path should be passed 
						
						
					 
					
						2024-03-05 22:51:26 -07:00 
						 
				 
			
				
					
						
							
							
								a 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c839a98ff5 
							
						 
					 
					
						
						
							
							filesystem: Globally declared filesystems, fs directive ( #5833 )  
						
						
						
						
					 
					
						2024-01-13 20:12:43 +00:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							787f6b257f 
							
						 
					 
					
						
						
							
							chore: check against errors of io/fs instead of os ( #6011 )  
						
						... 
						
						
						
						* chore: replace `os.ErrNotExist` with `fs.ErrNotExist`
* check against permission error from `io/fs` package 
						
						
					 
					
						2024-01-02 08:48:55 +03:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0a6d3333b2 
							
						 
					 
					
						
						
							
							fileserver: docs: clarify the ability to produce JSON array with browse ( #5751 )  
						
						
						
						
					 
					
						2023-08-18 19:04:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jacob Gadikian 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d6f86cccf5 
							
						 
					 
					
						
						
							
							ci: use gci linter ( #5708 )  
						
						... 
						
						
						
						* use gofmput to format code
* use gci to format imports
* reconfigure gci
* linter autofixes
* rearrange imports a little
* export GOOS=windows golangci-lint run ./... --fix 
						
						
					 
					
						2023-08-14 09:41:15 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a8492c064d 
							
						 
					 
					
						
						
							
							fileserver: Don't repeat error for invalid method inside error context ( #5705 )  
						
						
						
						
					 
					
						2023-08-09 17:12:09 +00:00 
						 
				 
			
				
					
						
							
							
								Marten Seemann 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f45a6de20d 
							
						 
					 
					
						
						
							
							go.mod: Update quic-go to v0.37.0, bump to Go 1.20 minimum ( #5644 )  
						
						... 
						
						
						
						* update quic-go to v0.37.0
* Bump to Go 1.20
* Bump golangci-lint version, yml syntax consistency
* Use skip-pkg-cache workaround
* Workaround needed for both?
* Seeding weakrand is no longer necessary
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com> 
						
						
					 
					
						2023-07-21 22:00:48 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5bd9c49042 
							
						 
					 
					
						
						
							
							fileserver: Don't set Etag if mtime is 0 or 1 ( close   #5548 ) ( #5550 )  
						
						
						
						
					 
					
						2023-05-22 14:17:15 -06:00 
						 
				 
			
				
					
						
							
							
								Charles Duffy 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2615c9c524 
							
						 
					 
					
						
						
							
							fileserver: Only set Etag if not already set ( fix   #5546 ) ( #5547 )  
						
						
						
						
					 
					
						2023-05-20 17:21:43 -06:00 
						 
				 
			
				
					
						
							
							
								Kévin Dunglas 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1c9ea0113d 
							
						 
					 
					
						
						
							
							caddyhttp: Impl ResponseWriter.Unwrap(), prep for Go 1.20's ResponseController ( #5509 )  
						
						... 
						
						
						
						* feat: add support for ResponseWriter.Unwrap()
* cherry-pick Francis' code 
						
						
					 
					
						2023-04-26 19:44:01 -04:00 
						 
				 
			
				
					
						
							
							
								esell 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							94d41a9d86 
							
						 
					 
					
						
						
							
							fileserver: Remove trailing slash on fs filenames ( #5417 )  
						
						
						
						
					 
					
						2023-03-03 14:45:17 -07:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a3ae146cbd 
							
						 
					 
					
						
						
							
							fileserver: Reject non-GET/HEAD requests ( close   #5166 ) ( #5167 )  
						
						... 
						
						
						
						* fileserver: Reject non-GET/HEAD requests (close  #5166 )
* Set Allow header according to RFC 9110 10.2.1 
						
						
					 
					
						2022-10-24 10:23:57 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4bf6cb4199 
							
						 
					 
					
						
						
							
							fileserver: Reject ADS and short name paths; trim trailing dots and spaces on Windows ( #5148 )  
						
						... 
						
						
						
						* fileserver: Reject ADS and short name paths
* caddyhttp: Trim trailing space and dot on Windows
Windows ignores trailing dots and spaces in filenames.
* Fix test
* Adjust path filters
* Revert Windows test
* Actually revert the test
* Just check for colons 
						
						
					 
					
						2022-10-18 21:55:25 -06:00 
						 
				 
			
				
					
						
							
							
								xufanglu 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2be56c526c 
							
						 
					 
					
						
						
							
							fileserver: Treat invalid file path as NotFound ( #5099 )  
						
						... 
						
						
						
						treat invalid file path as notFound so that PassThru can work 
						
						
					 
					
						2022-10-04 21:32:40 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
						
						
							
						
						
							e43b6d8178 
							
						 
					 
					
						
						
							
							core: Variadic Context.Logger(); soft deprecation  
						
						... 
						
						
						
						Ideally I'd just remove the parameter to caddy.Context.Logger(), but
this would break most Caddy plugins.
Instead, I'm making it variadic and marking it as partially deprecated.
In the future, I might completely remove the parameter once most
plugins have updated. 
						
						
					 
					
						2022-09-16 16:55:36 -06:00 
						 
				 
			
				
					
						
							
							
								Dave Henderson 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fded2644f8 
							
						 
					 
					
						
						
							
							Drop requirement for filesystems to implement fs.StatFS  
						
						... 
						
						
						
						Signed-off-by: Dave Henderson <dhenderson@gmail.com> 
						
						
					 
					
						2022-09-05 19:25:34 -04:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d5ea43fb4b 
							
						 
					 
					
						
						
							
							fileserver: Support glob expansion in file matcher ( #4993 )  
						
						... 
						
						
						
						* fileserver: Support glob expansion in file matcher
* Fix tests
* Fix bugs and tests
* Attempt Windows fix, sigh
* debug Windows, WIP
* Continue debugging Windows
* Another attempt at Windows
* Plz Windows
* Cmon...
* Clean up, hope I didn't break anything 
						
						
					 
					
						2022-09-05 13:53:41 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a479943acd 
							
						 
					 
					
						
						
							
							caddyhttp: Smarter path matching and rewriting ( #4948 )  
						
						... 
						
						
						
						Co-authored-by: RussellLuo <luopeng.he@gmail.com> 
						
						
					 
					
						2022-08-16 08:48:57 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7ab61f46f0 
							
						 
					 
					
						
						
							
							fileserver: Better fix for Etag of compressed files  
						
						
						
						
					 
					
						2022-08-08 13:09:57 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8c72f34357 
							
						 
					 
					
						
						
							
							fileserver: Generate Etag from sidecar file  
						
						... 
						
						
						
						Don't use the primary/uncompressed file for Etag when serving sidecars.
This was just overlooked initially. 
						
						
					 
					
						2022-08-08 12:50:06 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							141872ed80 
							
						 
					 
					
						
						
							
							chore: Bump up to Go 1.19, minimum 1.18 ( #4925 )  
						
						
						
						
					 
					
						2022-08-02 16:39:09 -04:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6668271661 
							
						 
					 
					
						
						
							
							fileserver: Support virtual file systems ( #4909 )  
						
						... 
						
						
						
						* fileserver: Support virtual file systems (close  #3720 )
This change replaces the hard-coded use of os.Open() and os.Stat() with
the use of the new (Go 1.16) io/fs APIs, enabling virtual file systems.
It introduces a new module namespace, caddy.fs, for such file systems.
Also improve documentation for the file server. I realized it was one of
the first modules written for Caddy 2, and the docs hadn't really been
updated since!
* Virtualize FS for file matcher; minor tweaks
* Fix tests and rename dirFS -> osFS
(Since we do not use a root directory, it is dynamic.) 
						
						
					 
					
						2022-07-30 13:07:44 -06:00 
						 
				 
			
				
					
						
							
							
								Y.Horie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							afca242111 
							
						 
					 
					
						
						
							
							staticfiles: Expand placeholder for index files ( #4679 )  
						
						
						
						
					 
					
						2022-04-07 15:01:09 -06:00 
						 
				 
			
				
					
						
							
							
								Adam Burgess 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							dce81e85d5 
							
						 
					 
					
						
						
							
							docs: use backticks to not italicise glob path ( #4460 )  
						
						
						
						
					 
					
						2021-12-05 23:48:40 -07:00 
						 
				 
			
				
					
						
							
							
								Mohammed Al Sahaf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							33c70f418f 
							
						 
					 
					
						
						
							
							fileserver: properly handle escaped/non-ascii paths ( #4332 )  
						
						... 
						
						
						
						* fileserver: properly handle escaped/non-ascii paths
* fileserver: tests: accommodate Windows hate of colons in files names 
						
						
					 
					
						2021-09-16 20:40:31 +00:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							191dc86f9e 
							
						 
					 
					
						
						
							
							fileserver: Clarify docs about canonicalization  
						
						... 
						
						
						
						Related to https://github.com/caddyserver/caddy/issues/4205 . 
						
						
					 
					
						2021-06-25 11:33:18 -06:00 
						 
				 
			
				
					
						
							
							
								Matt Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9d4ed3a323 
							
						 
					 
					
						
						
							
							caddyhttp: Refactor and export SanitizedPathJoin for use in fastcgi ( #4207 )  
						
						
						
						
					 
					
						2021-06-17 09:59:08 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fbd6560976 
							
						 
					 
					
						
						
							
							fileserver: Only redirect if filename not rewritten ( fix   #4205 )  
						
						... 
						
						
						
						This is the more correct implementation of  23dadc0d86dd75dad7559c25f20c9641bc7bc30f (#4179 )... I think. This commit effectively undoes the revert in 8848df9c5d372a559d01512b7a4ef00e38867b55, but with corrections to the logic.
We *do* need to use the original request path (the path the browser knows) for redirects, since they are external, and rewrites are only internal.
However, if the path was rewritten to a non-canonical path, we should not redirect to canonicalize that, since rewrites are intentional by the site owner. Canonicalizing the path involves modifying only the suffix (base element, or filename) of the path. Thus, if a rewrite involves only the prefix (like how handle_path strips a path prefix), then we can (hopefully!) safely redirect using the original URI since the filename was not rewritten.
So basically, if rewrites modify the filename, we should not canonicalize those requests. If rewrites only modify another part of the path (commonly a prefix), we should be OK to redirect. 
						
						
					 
					
						2021-06-17 09:55:49 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e8ae80adca 
							
						 
					 
					
						
						
							
							fileserver: Don't persist parsed template ( fix   #4202 )  
						
						... 
						
						
						
						Templates are parsed at request-time (like they are in the templates middleware) to allow live changes to the template while the server is running. Fixes race condition.
Also refactored use of a buffer so a buffer put back in the pool will not continue to be used (written to client) in the meantime.
A couple of benchmarks removed due to refactor, which is fine, since we know pooling helps here. 
						
						
					 
					
						2021-06-16 14:28:34 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8848df9c5d 
							
						 
					 
					
						
						
							
							Revert "fileserver: Redirect within the original URL ( #4179 )"  
						
						... 
						
						
						
						This reverts commit f9b54454a19e2b070159ce8d2af76d819658244e.
/cc @diamondburned (see #4205 ) 
						
						
					 
					
						2021-06-14 09:04:30 -06:00 
						 
				 
			
				
					
						
							
							
								diamondburned 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f9b54454a1 
							
						 
					 
					
						
						
							
							fileserver: Redirect within the original URL ( #4179 )  
						
						... 
						
						
						
						This commit changes the file_server directive to redirect using the
original request's URL instead of the possibly trimmed URL. This should
make file_server work with handle_path.
This fix is taken from mholt's comment in
https://caddy.community/t/file-servers-on-different-paths-not-working/11698/11 . 
						
						
					 
					
						2021-06-07 12:20:08 -06:00 
						 
				 
			
				
					
						
							
							
								Jason Du 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							637fd8f67b 
							
						 
					 
					
						
						
							
							fileserver: Share template logic for both templates and file_server browse ( #4093 )  
						
						... 
						
						
						
						Co-authored-by: Matthew Holt <mholt@users.noreply.github.com> 
						
						
					 
					
						2021-04-30 22:17:23 -04:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3a1e81dbf6 
							
						 
					 
					
						
						
							
							fileserver: Better handling of HTTP status override ( #4132 )  
						
						
						
						
					 
					
						2021-04-29 02:01:48 -04:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3f6283b385 
							
						 
					 
					
						
						
							
							fileserver: Add status code override ( #4076 )  
						
						... 
						
						
						
						After reading a question about the `handle_response` feature of `reverse_proxy`, I realized that we didn't have a way of serving an arbitrary file with a status code other than 200. This is an issue in situations where you want to serve a custom error page in routes that are not errors, like the aforementioned `handle_response`, where you may want to retain the status code returned by the proxy but write a response with content from a file.
This feature is super simple, basically if a status code is configured (can be a status code number, or a placeholder string) then that status will be written out before serving the file - if we write the status code first, then the stdlib won't write its own (only the first HTTP status header wins). 
						
						
					 
					
						2021-04-08 11:09:12 -06:00 
						 
				 
			
				
					
						
							
							
								Steffen Brüheim 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f35a7fa466 
							
						 
					 
					
						
						
							
							encode,staticfiles: Content negotiation, precompressed files ( #4045 )  
						
						... 
						
						
						
						* encode: implement prefer setting
* encode: minimum_length configurable via caddyfile
* encode: configurable content-types which to encode
* file_server: support precompressed files
* encode: use ReponseMatcher for conditional encoding of content
* linting error & documentation of encode.PrecompressedOrder
* encode: allow just one response matcher
also change the namespace of the encoders back, I accidently changed to precompressed >.>
default matchers include a *  to match to any charset, that may be appended
* rounding of the PR
* added integration tests for new caddyfile directives
* improved various doc strings (punctuation and typos)
* added json tag for file_server precompress order and encode matcher
* file_server: add vary header, remove accept-ranges when serving precompressed files
* encode: move Suffix implementation to precompressed modules 
						
						
					 
					
						2021-03-29 18:47:19 -06:00 
						 
				 
			
				
					
						
							
							
								Francis Lavoie 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0018b9be0d 
							
						 
					 
					
						
						
							
							fileserver: Add a few more debug lines ( #4063 )  
						
						
						
						
					 
					
						2021-03-19 11:42:26 -06:00 
						 
				 
			
				
					
						
							
							
								Matthew Holt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5bf0a55df4 
							
						 
					 
					
						
						
							
							fileserver: Don't replace in request paths ( fix   #4027 )  
						
						
						
						
					 
					
						2021-03-01 13:49:13 -07:00