satellite/admin/back-office: Use PathPrefix value
PathPrefix is the full path of the subrouter passed to the back office server when it hooks into another server, in this case, the satellite admin server. PathPrefix allows to serve the static assets from the root of the sub-router when the prefix is stripped before accessing them. There was a bug where the PathPrefix weren't used and a hard-coded path was used. Test passed because the back-office server is hooked into the satellite admin server with a subrouter with path `/back-office/` which matched the hard-code value, however, it wouldn't work if that path changed or it is hooked into another server with a different subrouter path, despite it was set to PathPrefix. This commit fixes that bug. Change-Id: Id4a0d86329eb563b008b3fc6f8eb7b51cbfd2e6f
This commit is contained in:
parent
fe890ff535
commit
e39f395cf1
@ -46,6 +46,7 @@ type Server struct {
|
|||||||
// ParentRouter is mux.Router with its full path prefix.
|
// ParentRouter is mux.Router with its full path prefix.
|
||||||
type ParentRouter struct {
|
type ParentRouter struct {
|
||||||
Router *mux.Router
|
Router *mux.Router
|
||||||
|
// PathPrefix is the full path prefix of Router.
|
||||||
PathPrefix string
|
PathPrefix string
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,13 +82,13 @@ func NewServer(log *zap.Logger, listener net.Listener, parentRouter *ParentRoute
|
|||||||
var staticHandler http.Handler
|
var staticHandler http.Handler
|
||||||
if config.StaticDir == "" {
|
if config.StaticDir == "" {
|
||||||
if parentRouter.PathPrefix != "" {
|
if parentRouter.PathPrefix != "" {
|
||||||
staticHandler = http.StripPrefix("/back-office/", http.FileServer(http.FS(ui.Assets)))
|
staticHandler = http.StripPrefix(parentRouter.PathPrefix, http.FileServer(http.FS(ui.Assets)))
|
||||||
} else {
|
} else {
|
||||||
staticHandler = http.FileServer(http.FS(ui.Assets))
|
staticHandler = http.FileServer(http.FS(ui.Assets))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if parentRouter.PathPrefix != "" {
|
if parentRouter.PathPrefix != "" {
|
||||||
staticHandler = http.StripPrefix("/back-office/", http.FileServer(http.Dir(config.StaticDir)))
|
staticHandler = http.StripPrefix(parentRouter.PathPrefix, http.FileServer(http.Dir(config.StaticDir)))
|
||||||
} else {
|
} else {
|
||||||
staticHandler = http.FileServer(http.Dir(config.StaticDir))
|
staticHandler = http.FileServer(http.Dir(config.StaticDir))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user