Compare commits

...

4 Commits

Author SHA1 Message Date
f826633e6e v0.0.206 2023-07-24 18:50:14 +02:00
edeae23bf1 v0.0.205 2023-07-24 18:47:48 +02:00
a038b86147 v0.0.204 2023-07-24 18:42:33 +02:00
ede0b99d3a v0.0.203 2023-07-24 18:38:04 +02:00
3 changed files with 28 additions and 10 deletions

View File

@@ -68,6 +68,9 @@ func NewEngine(allowCors bool, ginDebug bool, timeout time.Duration) *GinWrapper
}
func (w *GinWrapper) ListenAndServeHTTP(addr string, postInit func(port string)) (chan error, *http.Server) {
w.DebugPrintRoutes()
httpserver := &http.Server{
Addr: addr,
Handler: w.engine,
@@ -92,7 +95,7 @@ func (w *GinWrapper) ListenAndServeHTTP(addr string, postInit func(port string))
log.Info().Str("address", httpserver.Addr).Msg("HTTP-Server started on http://localhost:" + port)
if postInit != nil {
postInit(port)
postInit(port) // the net.Listener a few lines above is at this point actually already buffering requests
}
errChan <- httpserver.Serve(ln)
@@ -115,8 +118,8 @@ func (w *GinWrapper) DebugPrintRoutes() {
line := [4]string{
spec.Method,
spec.URL,
strings.Join(spec.Middlewares, " --> "),
spec.Method,
strings.Join(spec.Middlewares, " -> "),
spec.Handler,
}
lines = append(lines, line)
@@ -129,8 +132,8 @@ func (w *GinWrapper) DebugPrintRoutes() {
for _, line := range lines {
fmt.Printf("Gin-Route: [%s] @ %s --> %s --> %s\n",
langext.StrPadRight(line[0], " ", pad[0]),
fmt.Printf("Gin-Route: %s %s --> %s --> %s\n",
langext.StrPadRight("["+line[0]+"]", " ", pad[0]+2),
langext.StrPadRight(line[1], " ", pad[1]),
langext.StrPadRight(line[2], " ", pad[2]),
langext.StrPadRight(line[3], " ", pad[3]))

View File

@@ -3,8 +3,10 @@ package ginext
import (
"github.com/gin-gonic/gin"
"gogs.mikescher.com/BlackForestBytes/goext/langext"
"gogs.mikescher.com/BlackForestBytes/goext/rext"
"net/http"
"reflect"
"regexp"
"runtime"
"strings"
)
@@ -123,12 +125,25 @@ func (w *GinWrapper) NoRoute(handler WHandlerFunc) {
func nameOfFunction(f any) string {
n := runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name()
fname := runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name()
split := strings.Split(n, "/")
split := strings.Split(fname, "/")
if len(split) == 0 {
return ""
}
return split[len(split)-1]
fname = split[len(split)-1]
// https://stackoverflow.com/a/32925345/1761622
if strings.HasSuffix(fname, "-fm") {
fname = fname[:len(fname)-len("-fm")]
}
suffix := rext.W(regexp.MustCompile("\\.func[0-9]+$"))
if match, ok := suffix.MatchFirst(fname); ok {
fname = fname[:len(fname)-match.FullMatch().Length()]
}
return fname
}

View File

@@ -1,5 +1,5 @@
package goext
const GoextVersion = "0.0.202"
const GoextVersion = "0.0.206"
const GoextVersionTimestamp = "2023-07-24T18:34:56+0200"
const GoextVersionTimestamp = "2023-07-24T18:50:14+0200"