-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathmain.go
executable file
·56 lines (46 loc) · 1.29 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package main
import (
_ "github.com/Lt0/sysmon/routers"
"github.com/astaxie/beego"
"github.com/astaxie/beego/plugins/cors"
"github.com/Lt0/sysmon/controllers/info/cpu"
"github.com/Lt0/sysmon/controllers/info/disk"
"github.com/Lt0/sysmon/controllers/info/net"
proc "github.com/Lt0/sysmon/utils/proc"
ppid "github.com/Lt0/sysmon/utils/proc/pid"
pnet "github.com/Lt0/sysmon/utils/proc/net"
)
func main() {
setCORS()
initStaticDir()
initProcfs()
beego.Run()
}
func initStaticDir(){
beego.BConfig.WebConfig.DirectoryIndex = true
beego.BConfig.WebConfig.StaticDir["/web"] = "web"
beego.BConfig.WebConfig.StaticDir["/static"] = "web/dist/static"
if beego.BConfig.RunMode == "dev" {
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
}
}
func initProcfs() {
procfs := beego.AppConfig.String("procfs")
if procfs == "" {
procfs = "/proc"
}
cpu.Ctx.Procfs = procfs
disk.Ctx.Procfs = procfs
net.Ctx.Procfs = procfs
proc.Ctx.Procfs = procfs
ppid.Ctx.Procfs = procfs
pnet.Ctx.Procfs = procfs
}
func setCORS() {
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
AllowOrigins: []string{"*"},
AllowMethods: []string{"GET", "PUT", "PATCH"},
AllowHeaders: []string{"Origin"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,}))
}