97 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			97 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | package shared | ||
|  | 
 | ||
|  | import "fmt" | ||
|  | 
 | ||
|  | type InvalidTypeError struct { | ||
|  | 	method string | ||
|  | 	msg    string | ||
|  | } | ||
|  | 
 | ||
|  | func (e *InvalidTypeError) Error() string { | ||
|  | 	return fmt.Sprintf("invalid type on field %s: %s", e.method, e.msg) | ||
|  | } | ||
|  | 
 | ||
|  | func NewInvalidTypeError(method, msg string) *InvalidTypeError { | ||
|  | 	return &InvalidTypeError{ | ||
|  | 		method: method, | ||
|  | 		msg:    msg, | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | type InsufficientParamsError struct { | ||
|  | 	have int | ||
|  | 	want int | ||
|  | } | ||
|  | 
 | ||
|  | func (e *InsufficientParamsError) Error() string { | ||
|  | 	return fmt.Sprintf("insufficient params, want %d have %d", e.want, e.have) | ||
|  | } | ||
|  | 
 | ||
|  | func NewInsufficientParamsError(have int, want int) *InsufficientParamsError { | ||
|  | 	return &InsufficientParamsError{ | ||
|  | 		have: have, | ||
|  | 		want: want, | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | type NotImplementedError struct { | ||
|  | 	Method string | ||
|  | } | ||
|  | 
 | ||
|  | func (e *NotImplementedError) Error() string { | ||
|  | 	return fmt.Sprintf("%s method not implemented", e.Method) | ||
|  | } | ||
|  | 
 | ||
|  | func NewNotImplementedError(method string) *NotImplementedError { | ||
|  | 	return &NotImplementedError{ | ||
|  | 		Method: method, | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | type DecodeParamError struct { | ||
|  | 	err string | ||
|  | } | ||
|  | 
 | ||
|  | func (e *DecodeParamError) Error() string { | ||
|  | 	return fmt.Sprintf("could not decode, %s", e.err) | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | func NewDecodeParamError(errstr string) error { | ||
|  | 	return &DecodeParamError{ | ||
|  | 		err: errstr, | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | type ValidationError struct { | ||
|  | 	ParamName string | ||
|  | 	msg       string | ||
|  | } | ||
|  | 
 | ||
|  | func (e *ValidationError) Error() string { | ||
|  | 	return fmt.Sprintf("%s not valid, %s", e.ParamName, e.msg) | ||
|  | } | ||
|  | 
 | ||
|  | func NewValidationError(param string, msg string) error { | ||
|  | 	return &ValidationError{ | ||
|  | 		ParamName: param, | ||
|  | 		msg:       msg, | ||
|  | 	} | ||
|  | } | ||
|  | 
 | ||
|  | type NotAvailableError struct { | ||
|  | 	Method string | ||
|  | 	Reason string | ||
|  | } | ||
|  | 
 | ||
|  | func (e *NotAvailableError) Error() string { | ||
|  | 	return fmt.Sprintf("%s method not available: %s", e.Method, e.Reason) | ||
|  | } | ||
|  | 
 | ||
|  | func NewNotAvailableError(method string, reason string) *NotAvailableError { | ||
|  | 	return &NotAvailableError{ | ||
|  | 		Method: method, | ||
|  | 		Reason: reason, | ||
|  | 	} | ||
|  | } |