Fix broken path prefix

This commit is contained in:
Dan Sosedoff 2021-08-10 12:12:05 -05:00
parent 3455a89fd5
commit 46935a7a12
No known key found for this signature in database
GPG Key ID: 26186197D282B164
2 changed files with 16 additions and 7 deletions

View File

@ -3,7 +3,6 @@ package api
import (
"encoding/base64"
"fmt"
"github.com/sosedoff/pgweb/static"
"net/http"
neturl "net/url"
"regexp"
@ -18,6 +17,7 @@ import (
"github.com/sosedoff/pgweb/pkg/command"
"github.com/sosedoff/pgweb/pkg/connection"
"github.com/sosedoff/pgweb/pkg/shared"
"github.com/sosedoff/pgweb/static"
)
var (
@ -58,12 +58,20 @@ func setClient(c *gin.Context, newClient *client.Client) error {
}
// GetHome renderes the home page
func GetHome() http.Handler {
return http.FileServer(http.FS(static.Static))
func GetHome(prefix string) http.Handler {
if prefix != "" {
prefix = "/" + prefix
}
return http.StripPrefix(prefix, http.FileServer(http.FS(static.Static)))
}
func GetAssets() http.Handler {
return http.StripPrefix("/static/", http.FileServer(http.FS(static.Static)))
func GetAssets(prefix string) http.Handler {
if prefix != "" {
prefix = "/" + prefix + "static/"
} else {
prefix = "/static/"
}
return http.StripPrefix(prefix, http.FileServer(http.FS(static.Static)))
}
// GetSessions renders the number of active sessions

View File

@ -2,6 +2,7 @@ package api
import (
"github.com/gin-gonic/gin"
"github.com/sosedoff/pgweb/pkg/command"
)
@ -20,8 +21,8 @@ func SetupMiddlewares(group *gin.RouterGroup) {
func SetupRoutes(router *gin.Engine) {
root := router.Group(command.Opts.Prefix)
root.GET("/", gin.WrapH(GetHome()))
root.GET("/static/*path", gin.WrapH(GetAssets()))
root.GET("/", gin.WrapH(GetHome(command.Opts.Prefix)))
root.GET("/static/*path", gin.WrapH(GetAssets(command.Opts.Prefix)))
root.GET("/connect/:resource", ConnectWithBackend)
api := root.Group("/api")