123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package routers
- import (
- "encoding/json"
- "fmt"
- "github.com/astaxie/beego"
- "github.com/astaxie/beego/context"
- "github.com/astaxie/beego/logs"
- "net/http"
- config2 "server/config"
- "server/controllers"
- "server/middleware"
- "strings"
- )
- func init() {
- config := config2.Config
- ns := beego.NewNamespace(config.BaseApi,
- beego.NSRouter("/nginx", &controllers.NginxController{}),
- beego.NSRouter("/nginx/:id", &controllers.NginxController{}, "get:GetNginx"),
- beego.NSRouter("/nginx/:id", &controllers.NginxController{}, "delete:DelNginx"),
- beego.NSRouter("/http/refresh", &controllers.NginxController{}, "post:RefreshHttp"),
- beego.NSRouter("/nginx/:id/start", &controllers.NginxController{}, "post:StartNginx"),
- beego.NSRouter("/nginx/:id/stop", &controllers.NginxController{}, "post:StopNginx"),
- beego.NSRouter("/nginx/:id/status", &controllers.NginxController{}, "post:StatusNginx"),
- // certs
- beego.NSRouter("/nginx/:id/certs", &controllers.CertController{}),
- beego.NSRouter("/nginx/:id/certs/sync", &controllers.CertController{}, "post:Sync"),
- // nginx server apis
- beego.NSRouter("/server", &controllers.ServerController{}),
- beego.NSRouter("/server/refresh", &controllers.ServerController{}, "post:Refresh"),
- // file upload download
- beego.NSRouter("/file", &controllers.FileController{}),
- beego.NSRouter("/file/deploy", &controllers.FileController{}, "post:Deploy"),
- )
- beego.AddNamespace(ns)
- beego.InsertFilter(fmt.Sprintf("%s/**", config.BaseApi), beego.BeforeRouter, middleware.AuthFilter)
- beego.Router("/nginx-ui/config.js", &controllers.ConfigController{})
- // portal static assets
- beego.SetStaticPath("/nginx-ui", "static/web")
- beego.SetStaticPath("/web", "static/web")
- beego.Get("/", func(ctx *context.Context) {
- ctx.Redirect(301, "/nginx-ui/index.html")
- })
- beego.ErrorHandler("404", func(writer http.ResponseWriter, request *http.Request) {
- accept := request.Header.Get("accept")
- logs.Warn("404", accept)
- if strings.Contains(accept, "json") {
- writer.Header().Set("content-type", "application/json")
- writer.WriteHeader(200)
- resp := controllers.RespData{
- Code: -2,
- Msg: "server error",
- }
- str, _ := json.Marshal(&resp)
- writer.Write(str)
- } else {
- writer.WriteHeader(404)
- writer.Write([]byte(""))
- }
- })
- }
|