mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05:00 
			
		
		
		
	requestbody: Type-based error handling for MaxBytesError (#6701)
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Waiting to run
				
			
		
			
				
	
				Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Waiting to run
				
			
		
			
				
	
				Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Waiting to run
				
			
		
			
				
	
				Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Waiting to run
				
			
		
			
				
	
				Lint / lint (macos-14, mac) (push) Waiting to run
				
			
		
			
				
	
				Lint / lint (windows-latest, windows) (push) Waiting to run
				
			
		
			
				
	
				Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Failing after 2m39s
				
			
		
			
				
	
				Tests / test (./cmd/caddy/caddy, ~1.23.0, ubuntu-latest, 0, 1.23, linux) (push) Failing after 3m45s
				
			
		
			
				
	
				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 1m22s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, darwin) (push) Successful in 1m23s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 1m22s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 1m21s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, illumos) (push) Successful in 1m22s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, linux) (push) Successful in 1m24s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 1m23s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Successful in 1m21s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, solaris) (push) Successful in 1m23s
				
			
		
			
				
	
				Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 1m21s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 3m43s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 1m16s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Successful in 1m14s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Successful in 1m14s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, illumos) (push) Successful in 1m13s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 1m14s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 1m14s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 1m13s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 1m14s
				
			
		
			
				
	
				Cross-Build / build (~1.23.0, 1.23, windows) (push) Successful in 1m13s
				
			
		
			
				
	
				Lint / lint (ubuntu-latest, linux) (push) Successful in 4m28s
				
			
		
			
				
	
				Lint / govulncheck (push) Successful in 2m41s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Tests / test (./cmd/caddy/caddy, ~1.22.3, macos-14, 0, 1.22, mac) (push) Waiting to run
				
			Tests / test (./cmd/caddy/caddy, ~1.23.0, macos-14, 0, 1.23, mac) (push) Waiting to run
				
			Tests / test (./cmd/caddy/caddy.exe, ~1.22.3, windows-latest, True, 1.22, windows) (push) Waiting to run
				
			Tests / test (./cmd/caddy/caddy.exe, ~1.23.0, windows-latest, True, 1.23, windows) (push) Waiting to run
				
			Lint / lint (macos-14, mac) (push) Waiting to run
				
			Lint / lint (windows-latest, windows) (push) Waiting to run
				
			Tests / test (./cmd/caddy/caddy, ~1.22.3, ubuntu-latest, 0, 1.22, linux) (push) Failing after 2m39s
				
			Tests / test (./cmd/caddy/caddy, ~1.23.0, ubuntu-latest, 0, 1.23, linux) (push) Failing after 3m45s
				
			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 1m22s
				
			Cross-Build / build (~1.22.3, 1.22, darwin) (push) Successful in 1m23s
				
			Cross-Build / build (~1.22.3, 1.22, dragonfly) (push) Successful in 1m22s
				
			Cross-Build / build (~1.22.3, 1.22, freebsd) (push) Successful in 1m21s
				
			Cross-Build / build (~1.22.3, 1.22, illumos) (push) Successful in 1m22s
				
			Cross-Build / build (~1.22.3, 1.22, linux) (push) Successful in 1m24s
				
			Cross-Build / build (~1.22.3, 1.22, netbsd) (push) Successful in 1m23s
				
			Cross-Build / build (~1.22.3, 1.22, openbsd) (push) Successful in 1m21s
				
			Cross-Build / build (~1.22.3, 1.22, solaris) (push) Successful in 1m23s
				
			Cross-Build / build (~1.22.3, 1.22, windows) (push) Successful in 1m21s
				
			Cross-Build / build (~1.23.0, 1.23, aix) (push) Successful in 3m43s
				
			Cross-Build / build (~1.23.0, 1.23, darwin) (push) Successful in 1m16s
				
			Cross-Build / build (~1.23.0, 1.23, dragonfly) (push) Successful in 1m14s
				
			Cross-Build / build (~1.23.0, 1.23, freebsd) (push) Successful in 1m14s
				
			Cross-Build / build (~1.23.0, 1.23, illumos) (push) Successful in 1m13s
				
			Cross-Build / build (~1.23.0, 1.23, linux) (push) Successful in 1m14s
				
			Cross-Build / build (~1.23.0, 1.23, netbsd) (push) Successful in 1m14s
				
			Cross-Build / build (~1.23.0, 1.23, openbsd) (push) Successful in 1m13s
				
			Cross-Build / build (~1.23.0, 1.23, solaris) (push) Successful in 1m14s
				
			Cross-Build / build (~1.23.0, 1.23, windows) (push) Successful in 1m13s
				
			Lint / lint (ubuntu-latest, linux) (push) Successful in 4m28s
				
			Lint / govulncheck (push) Successful in 2m41s
				
			* fix: handle "request body too large" error using type assertion * fix: address overlooked nil check for MaxBytesError * fix: replace type assertion with errors.As() for MaxBytesError
This commit is contained in:
		
							parent
							
								
									eddbccd298
								
							
						
					
					
						commit
						8c3dd3de70
					
				@ -15,6 +15,7 @@
 | 
				
			|||||||
package requestbody
 | 
					package requestbody
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
	"io"
 | 
						"io"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
@ -94,7 +95,8 @@ type errorWrapper struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func (ew errorWrapper) Read(p []byte) (n int, err error) {
 | 
					func (ew errorWrapper) Read(p []byte) (n int, err error) {
 | 
				
			||||||
	n, err = ew.ReadCloser.Read(p)
 | 
						n, err = ew.ReadCloser.Read(p)
 | 
				
			||||||
	if err != nil && err.Error() == "http: request body too large" {
 | 
						var mbe *http.MaxBytesError
 | 
				
			||||||
 | 
						if errors.As(err, &mbe) {
 | 
				
			||||||
		err = caddyhttp.Error(http.StatusRequestEntityTooLarge, err)
 | 
							err = caddyhttp.Error(http.StatusRequestEntityTooLarge, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user