mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-03 23:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package errors
 | 
						|
 | 
						|
import (
 | 
						|
	"errors"
 | 
						|
	"net/http"
 | 
						|
)
 | 
						|
 | 
						|
// HTTPError is an augmented error with a HTTP status code.
 | 
						|
type HTTPError struct {
 | 
						|
	StatusCode int
 | 
						|
	error
 | 
						|
}
 | 
						|
 | 
						|
// Error implements the error interface.
 | 
						|
func (e *HTTPError) Error() string {
 | 
						|
	return e.error.Error()
 | 
						|
}
 | 
						|
 | 
						|
// NewMethodNotAllowed returns an appropriate error in the case that
 | 
						|
// an HTTP client uses an invalid method (i.e. a GET in place of a POST)
 | 
						|
// on an API endpoint.
 | 
						|
func NewMethodNotAllowed(method string) *HTTPError {
 | 
						|
	return &HTTPError{http.StatusMethodNotAllowed, errors.New(`Method is not allowed:"` + method + `"`)}
 | 
						|
}
 | 
						|
 | 
						|
// NewBadRequest creates a HttpError with the given error and error code 400.
 | 
						|
func NewBadRequest(err error) *HTTPError {
 | 
						|
	return &HTTPError{http.StatusBadRequest, err}
 | 
						|
}
 | 
						|
 | 
						|
// NewBadRequestString returns a HttpError with the supplied message
 | 
						|
// and error code 400.
 | 
						|
func NewBadRequestString(s string) *HTTPError {
 | 
						|
	return NewBadRequest(errors.New(s))
 | 
						|
}
 | 
						|
 | 
						|
// NewBadRequestMissingParameter returns a 400 HttpError as a required
 | 
						|
// parameter is missing in the HTTP request.
 | 
						|
func NewBadRequestMissingParameter(s string) *HTTPError {
 | 
						|
	return NewBadRequestString(`Missing parameter "` + s + `"`)
 | 
						|
}
 | 
						|
 | 
						|
// NewBadRequestUnwantedParameter returns a 400 HttpError as a unnecessary
 | 
						|
// parameter is present in the HTTP request.
 | 
						|
func NewBadRequestUnwantedParameter(s string) *HTTPError {
 | 
						|
	return NewBadRequestString(`Unwanted parameter "` + s + `"`)
 | 
						|
}
 |