Files
vm/routers/filter.go
zeekay b110194b4f refactor: /v1/ canonical paths (sweep)
Per global rule: /v1/ only, never /api/. Visor backend (Beego router)
moves namespace from "/api" -> "/v1", with matching updates to filter,
record, authz, and the web frontend client wrappers.

Files touched:
- routers/router.go: NewNamespace + all beego.Router("/api/...") -> "/v1/..."
- routers/filter.go, record.go: prefix checks updated
- routers/authz_filter.go: getUrlPath /api/get-account -> /v1/get-account
- authz/authz.go: demo-mode allowlist updated
- object/record.go: action stripping uses /v1/ now
- web/src/RecordListPage.js: requestUri default
- web/src/backend/*: ServerUrl + /api/* -> /v1/* (all 7 backend modules)

`go build ./...` clean. web/yarn.lock untracked (pre-existing).
2026-05-18 22:43:54 -07:00

44 lines
1.1 KiB
Go

// Copyright 2023 Hanzo Industries Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package routers
import (
"net/http"
"strings"
"github.com/beego/beego/context"
"github.com/hanzoai/visor/util"
)
func TransparentStatic(ctx *context.Context) {
urlPath := ctx.Request.URL.Path
if strings.HasPrefix(urlPath, "/v1/") {
return
}
path := "web/build"
if urlPath == "/" {
path += "/index.html"
} else {
path += urlPath
}
if !util.FileExist(path) {
path = "web/build/index.html"
}
http.ServeFile(ctx.ResponseWriter, ctx.Request, path)
}