| 
									
										
										
										
											2017-02-06 20:58:13 +00:00
										 |  |  | package errhttp | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-14 13:56:09 +00:00
										 |  |  | import ( | 
					
						
							|  |  |  | 	"net/http" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-14 12:03:00 +00:00
										 |  |  | var _ Error            = internalFailedDependency{} | 
					
						
							| 
									
										
										
										
											2023-08-14 12:50:41 +00:00
										 |  |  | var _ ClientError      = internalFailedDependency{} | 
					
						
							| 
									
										
										
										
											2023-08-14 12:03:00 +00:00
										 |  |  | var _ FailedDependency = internalFailedDependency{} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-14 12:30:30 +00:00
										 |  |  | var ErrFailedDependency error = FailedDependencyWrap(nil) | 
					
						
							| 
									
										
										
										
											2023-02-16 19:36:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-06 20:58:13 +00:00
										 |  |  | type FailedDependency interface { | 
					
						
							|  |  |  | 	ClientError | 
					
						
							|  |  |  | 	FailedDependency() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type internalFailedDependency struct { | 
					
						
							|  |  |  | 	err error | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func FailedDependencyWrap(err error) error { | 
					
						
							|  |  |  | 	return internalFailedDependency{ | 
					
						
							|  |  |  | 		err:err, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (receiver internalFailedDependency) Error() string { | 
					
						
							| 
									
										
										
										
											2023-10-01 02:30:28 +00:00
										 |  |  | 	err := receiver.err | 
					
						
							|  |  |  | 	if nil == err { | 
					
						
							|  |  |  | 		return http.StatusText(receiver.ErrHTTP()) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return err.Error() | 
					
						
							| 
									
										
										
										
											2017-02-06 20:58:13 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-14 13:56:09 +00:00
										 |  |  | func (internalFailedDependency) ErrHTTP() int { | 
					
						
							|  |  |  | 	return http.StatusFailedDependency | 
					
						
							| 
									
										
										
										
											2023-02-16 20:01:00 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-06 20:58:13 +00:00
										 |  |  | func (internalFailedDependency) ClientError() { | 
					
						
							|  |  |  | 	// Nothing here.
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (internalFailedDependency) FailedDependency() { | 
					
						
							|  |  |  | 	// Nothing here.
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-02-16 06:24:28 +00:00
										 |  |  | func (receiver internalFailedDependency) Unwrap() error { | 
					
						
							|  |  |  | 	return receiver.err | 
					
						
							|  |  |  | } |