Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
e165f0f62f
|
|||
655d4daad9
|
@@ -5,10 +5,8 @@ import (
|
|||||||
"gogs.mikescher.com/BlackForestBytes/goext/dataext"
|
"gogs.mikescher.com/BlackForestBytes/goext/dataext"
|
||||||
)
|
)
|
||||||
|
|
||||||
func BodyBuffer() gin.HandlerFunc {
|
func BodyBuffer(g *gin.Context) {
|
||||||
return func(g *gin.Context) {
|
if g.Request.Body != nil {
|
||||||
if g.Request.Body != nil {
|
g.Request.Body = dataext.NewBufferedReadCloser(g.Request.Body)
|
||||||
g.Request.Body = dataext.NewBufferedReadCloser(g.Request.Body)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -113,7 +113,7 @@ func (w *GinRouteBuilder) Handle(handler WHandlerFunc) {
|
|||||||
|
|
||||||
if w.routes.wrapper.bufferBody {
|
if w.routes.wrapper.bufferBody {
|
||||||
arr := make([]gin.HandlerFunc, 0, len(w.handlers)+1)
|
arr := make([]gin.HandlerFunc, 0, len(w.handlers)+1)
|
||||||
arr = append(arr, BodyBuffer())
|
arr = append(arr, BodyBuffer)
|
||||||
arr = append(arr, w.handlers...)
|
arr = append(arr, w.handlers...)
|
||||||
w.handlers = arr
|
w.handlers = arr
|
||||||
}
|
}
|
||||||
@@ -143,13 +143,24 @@ func (w *GinRouteBuilder) Handle(handler WHandlerFunc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *GinWrapper) NoRoute(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)
|
||||||
|
}
|
||||||
|
handlers = append(handlers, Wrap(w, handler))
|
||||||
|
|
||||||
|
middlewareNames := langext.ArrMap(handlers, func(v gin.HandlerFunc) string { return nameOfFunction(v) })
|
||||||
|
handlerName := nameOfFunction(handler)
|
||||||
|
|
||||||
|
w.engine.NoRoute(handlers...)
|
||||||
|
|
||||||
w.routeSpecs = append(w.routeSpecs, ginRouteSpec{
|
w.routeSpecs = append(w.routeSpecs, ginRouteSpec{
|
||||||
Method: "ANY",
|
Method: "ANY",
|
||||||
URL: "[NO_ROUTE]",
|
URL: "[NO_ROUTE]",
|
||||||
Middlewares: nil,
|
Middlewares: middlewareNames,
|
||||||
Handler: nameOfFunction(handler),
|
Handler: handlerName,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.228"
|
const GoextVersion = "0.0.230"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2023-08-08T15:33:52+0200"
|
const GoextVersionTimestamp = "2023-08-08T16:09:02+0200"
|
||||||
|
Reference in New Issue
Block a user