Instrustment handlers for logging/error handling
This refactors a bit of the http handler code. Moves error handling for handler functions to a generic handler. This also has a side-effect of being able to propagate errors from the provider to send the correct status code, provided the error type matches a pre-defined interface.
This commit is contained in:
12
vendor/github.com/cpuguy83/strongerrors/doc.go
generated
vendored
Normal file
12
vendor/github.com/cpuguy83/strongerrors/doc.go
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
// Package strongerrors defines a set of error interfaces that packages should use for communicating classes of errors.
|
||||
// Errors that cross the package boundary should implement one (and only one) of these interfaces.
|
||||
//
|
||||
// Packages should not reference these interfaces directly, only implement them.
|
||||
// To check if a particular error implements one of these interfaces, there are helper
|
||||
// functions provided (e.g. `Is<SomeError>`) which can be used rather than asserting the interfaces directly.
|
||||
// If you must assert on these interfaces, be sure to check the causal chain (`err.Cause()`).
|
||||
//
|
||||
// A set of helper functions are provided to take any error and turn it into a specific error class.
|
||||
// This frees you from defining the same error classes all over your code. However, you can still
|
||||
// implement the error classes ony our own if you desire.
|
||||
package strongerrors
|
||||
Reference in New Issue
Block a user