Skip to content

Commit de1c798

Browse files
px3303aldas
authored andcommittedApr 15, 2023
Check whether is nil before invoking centralized error handling.
1 parent a7802ea commit de1c798

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed
 

‎middleware/recover.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ type (
3737

3838
// LogErrorFunc defines a function for custom logging in the middleware.
3939
// If it's set you don't need to provide LogLevel for config.
40+
// If this function returns nil, the centralized HTTPErrorHandler will not be called.
4041
LogErrorFunc LogErrorFunc
4142

4243
// DisableErrorHandler disables the call to centralized HTTPErrorHandler.
@@ -49,12 +50,12 @@ type (
4950
var (
5051
// DefaultRecoverConfig is the default Recover middleware config.
5152
DefaultRecoverConfig = RecoverConfig{
52-
Skipper: DefaultSkipper,
53-
StackSize: 4 << 10, // 4 KB
54-
DisableStackAll: false,
55-
DisablePrintStack: false,
56-
LogLevel: 0,
57-
LogErrorFunc: nil,
53+
Skipper: DefaultSkipper,
54+
StackSize: 4 << 10, // 4 KB
55+
DisableStackAll: false,
56+
DisablePrintStack: false,
57+
LogLevel: 0,
58+
LogErrorFunc: nil,
5859
DisableErrorHandler: false,
5960
}
6061
)
@@ -120,7 +121,7 @@ func RecoverWithConfig(config RecoverConfig) echo.MiddlewareFunc {
120121
}
121122
}
122123

123-
if(!config.DisableErrorHandler) {
124+
if err != nil && !config.DisableErrorHandler {
124125
c.Error(err)
125126
} else {
126127
returnErr = err

‎middleware/request_logger.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ func (config RequestLoggerConfig) ToMiddleware() (echo.MiddlewareFunc, error) {
257257
config.BeforeNextFunc(c)
258258
}
259259
err := next(c)
260-
if config.HandleError {
260+
if err != nil && config.HandleError {
261261
c.Error(err)
262262
}
263263

0 commit comments

Comments
 (0)
Please sign in to comment.