go-tower: added StaticFS and fixed buildFullPath: v0.1.1

This commit is contained in:
2026-02-15 11:48:47 +00:00
parent 3576d420d2
commit c8718716b8
3 changed files with 45 additions and 14 deletions

View File

@@ -17,7 +17,7 @@ func (g *Group) Use(groupMiddlewares ...Middleware) {
func (g *Group) Group(prefix string, mws ...Middleware) *Group {
child := &Group{
parent: g.parent,
prefix: g.buildFullPath(prefix),
prefix: buildFullPath(g.prefix, prefix),
}
child.groupMiddlewares = make([]Middleware, 0, len(g.groupMiddlewares)+len(mws))
@@ -37,7 +37,7 @@ func (g *Group) Static(prefix, dir string) {
}
prefix += "/*filepath"
g.parent.router.ServeFiles(g.buildFullPath(prefix), http.Dir(dir))
g.parent.router.ServeFiles(buildFullPath(g.prefix, prefix), http.Dir(dir))
}
func (g *Group) GET(path string, h Handler, routeMiddlewares ...Middleware) {
@@ -61,7 +61,7 @@ func (g *Group) DELETE(path string, h Handler, routeMiddlewares ...Middleware) {
}
func (g *Group) Handle(method string, path string, h Handler, routeMiddlewares ...Middleware) {
fullPath := g.buildFullPath(path)
fullPath := buildFullPath(g.prefix, path)
mws := make([]Middleware, 0, len(g.groupMiddlewares)+len(routeMiddlewares))
mws = append(mws, g.groupMiddlewares...)
@@ -69,14 +69,3 @@ func (g *Group) Handle(method string, path string, h Handler, routeMiddlewares .
g.parent.Handle(method, fullPath, h, mws...)
}
func (g *Group) buildFullPath(path string) string {
normalizedPrefix := normalizePath(g.prefix)
normalizedPath := normalizePath(path)
if normalizedPrefix == "/" && normalizedPath == "/" {
return "/"
}
return normalizePath(g.prefix) + normalizePath(path)
}