Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
ac416f7b69
|
|||
e10140e143
|
|||
e165f0f62f
|
|||
655d4daad9
|
@@ -80,6 +80,10 @@ func New(t ErrorType, msg string) *Builder {
|
||||
}
|
||||
|
||||
func Wrap(err error, msg string) *Builder {
|
||||
if err == nil {
|
||||
return &Builder{errorData: newExErr(CatSystem, TypeInternal, msg)} // prevent NPE if we call Wrap with err==nil
|
||||
}
|
||||
|
||||
if !pkgconfig.RecursiveErrors {
|
||||
v := FromError(err)
|
||||
v.Message = msg
|
||||
|
@@ -5,10 +5,8 @@ import (
|
||||
"gogs.mikescher.com/BlackForestBytes/goext/dataext"
|
||||
)
|
||||
|
||||
func BodyBuffer() gin.HandlerFunc {
|
||||
return func(g *gin.Context) {
|
||||
if g.Request.Body != nil {
|
||||
g.Request.Body = dataext.NewBufferedReadCloser(g.Request.Body)
|
||||
}
|
||||
func BodyBuffer(g *gin.Context) {
|
||||
if g.Request.Body != nil {
|
||||
g.Request.Body = dataext.NewBufferedReadCloser(g.Request.Body)
|
||||
}
|
||||
}
|
||||
|
@@ -113,7 +113,7 @@ func (w *GinRouteBuilder) Handle(handler WHandlerFunc) {
|
||||
|
||||
if w.routes.wrapper.bufferBody {
|
||||
arr := make([]gin.HandlerFunc, 0, len(w.handlers)+1)
|
||||
arr = append(arr, BodyBuffer())
|
||||
arr = append(arr, BodyBuffer)
|
||||
arr = append(arr, w.handlers...)
|
||||
w.handlers = arr
|
||||
}
|
||||
@@ -143,13 +143,25 @@ func (w *GinRouteBuilder) Handle(handler WHandlerFunc) {
|
||||
}
|
||||
|
||||
func (w *GinWrapper) NoRoute(handler WHandlerFunc) {
|
||||
w.engine.NoRoute(Wrap(w, handler))
|
||||
|
||||
handlers := make([]gin.HandlerFunc, 0)
|
||||
|
||||
if w.bufferBody {
|
||||
handlers = append(handlers, BodyBuffer)
|
||||
}
|
||||
|
||||
middlewareNames := langext.ArrMap(handlers, func(v gin.HandlerFunc) string { return nameOfFunction(v) })
|
||||
handlerName := nameOfFunction(handler)
|
||||
|
||||
handlers = append(handlers, Wrap(w, handler))
|
||||
|
||||
w.engine.NoRoute(handlers...)
|
||||
|
||||
w.routeSpecs = append(w.routeSpecs, ginRouteSpec{
|
||||
Method: "ANY",
|
||||
URL: "[NO_ROUTE]",
|
||||
Middlewares: nil,
|
||||
Handler: nameOfFunction(handler),
|
||||
Middlewares: middlewareNames,
|
||||
Handler: handlerName,
|
||||
})
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
package goext
|
||||
|
||||
const GoextVersion = "0.0.228"
|
||||
const GoextVersion = "0.0.232"
|
||||
|
||||
const GoextVersionTimestamp = "2023-08-08T15:33:52+0200"
|
||||
const GoextVersionTimestamp = "2023-08-08T18:01:00+0200"
|
||||
|
Reference in New Issue
Block a user