mirror of
https://github.com/minio/minio.git
synced 2024-12-25 06:35:56 -05:00
Merge pull request #1161 from krishnasrinivas/feb-23
UI: serve index.html if the requested file is not found in the assets bundle.
This commit is contained in:
commit
997141d031
@ -104,7 +104,7 @@ func (h redirectHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
// '/rpc' is redirected to 'locationPrefix/rpc'
|
// '/rpc' is redirected to 'locationPrefix/rpc'
|
||||||
// '/login' is redirected to 'locationPrefix/login'
|
// '/login' is redirected to 'locationPrefix/login'
|
||||||
switch r.URL.Path {
|
switch r.URL.Path {
|
||||||
case "/", "/rpc", "/login":
|
case "/", "/rpc", "/login", "/favicon.ico":
|
||||||
location := h.locationPrefix + r.URL.Path
|
location := h.locationPrefix + r.URL.Path
|
||||||
// Redirect to new location.
|
// Redirect to new location.
|
||||||
http.Redirect(w, r, location, http.StatusTemporaryRedirect)
|
http.Redirect(w, r, location, http.StatusTemporaryRedirect)
|
||||||
|
19
routers.go
19
routers.go
@ -19,7 +19,6 @@ package main
|
|||||||
import (
|
import (
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"path"
|
|
||||||
|
|
||||||
router "github.com/gorilla/mux"
|
router "github.com/gorilla/mux"
|
||||||
jsonrpc "github.com/gorilla/rpc/v2"
|
jsonrpc "github.com/gorilla/rpc/v2"
|
||||||
@ -58,6 +57,16 @@ type webAPI struct {
|
|||||||
secretAccessKey string
|
secretAccessKey string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// indexHandler - Handler to serve index.html
|
||||||
|
type indexHandler struct {
|
||||||
|
handler http.Handler
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
|
r.URL.Path = privateBucket + "/"
|
||||||
|
h.handler.ServeHTTP(w, r)
|
||||||
|
}
|
||||||
|
|
||||||
// registerAPIHandlers - register all the handlers to their respective paths
|
// registerAPIHandlers - register all the handlers to their respective paths
|
||||||
func registerAPIHandlers(mux *router.Router, a storageAPI, w *webAPI) {
|
func registerAPIHandlers(mux *router.Router, a storageAPI, w *webAPI) {
|
||||||
// Minio rpc router
|
// Minio rpc router
|
||||||
@ -72,10 +81,10 @@ func registerAPIHandlers(mux *router.Router, a storageAPI, w *webAPI) {
|
|||||||
|
|
||||||
// RPC handler at URI - /minio/rpc
|
// RPC handler at URI - /minio/rpc
|
||||||
minio.Path("/rpc").Handler(rpc)
|
minio.Path("/rpc").Handler(rpc)
|
||||||
|
// Serve javascript files and favicon.ico from assets
|
||||||
// Web handler assets at URI - /minio/login
|
minio.Path("/{assets:[^/]+.js|favicon.ico}").Handler(http.StripPrefix(privateBucket, http.FileServer(assetFS())))
|
||||||
minio.Path("/login").Handler(http.StripPrefix(path.Join(privateBucket, "login"), http.FileServer(assetFS())))
|
// Serve index.html for rest of the requests
|
||||||
minio.Path("/{file:.*}").Handler(http.StripPrefix(privateBucket, http.FileServer(assetFS())))
|
minio.Path("/{index:.*}").Handler(indexHandler{http.StripPrefix(privateBucket, http.FileServer(assetFS()))})
|
||||||
|
|
||||||
// API Router
|
// API Router
|
||||||
api := mux.NewRoute().PathPrefix("/").Subrouter()
|
api := mux.NewRoute().PathPrefix("/").Subrouter()
|
||||||
|
Loading…
Reference in New Issue
Block a user