Skip to content

Commit cc1c4d7

Browse files
committed
feat: abort requests for not enabled apis
1 parent b447ea4 commit cc1c4d7

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

backend/controller/controller.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,8 @@ var RespErrASNNotFound = Resp{
2525
Code: -4,
2626
Msg: "asn not found",
2727
}
28+
29+
var RespErrNotEnabled = Resp{
30+
Code: -5,
31+
Msg: "api not enabled",
32+
}

backend/main.go

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,23 @@ func main() {
6161
r.GET("/api/ospf/:asn", controller.OSPF)
6262
r.GET("/api/ospf/uptime/:routerId/recent", controller.OSPFRecentUptime)
6363
r.GET("/api/bgp", controller.BGP)
64-
r.GET("/api/bgp/uptime/:asn/recent", controller.BGPRecentUptime)
65-
r.GET("/api/bgp/uptime/:asn/links", controller.BGPLinks)
66-
r.GET("/api/bgp/analysis/betweenness", controller.BGPAnalysisBetweenness)
67-
r.GET("/api/bgp/analysis/closeness", controller.BGPAnalysisCloseness)
64+
65+
up := r.Group("/api/bgp/uptime", func(c *gin.Context) {
66+
if conf.Influxdb.Addr == "" {
67+
c.AbortWithStatusJSON(403, controller.RespErrNotEnabled)
68+
}
69+
})
70+
up.GET("/:asn/recent", controller.BGPRecentUptime)
71+
up.GET("/:asn/links", controller.BGPLinks)
72+
73+
ana := r.Group("/api/bgp/analysis", func(c *gin.Context) {
74+
if !conf.Analysis {
75+
c.AbortWithStatusJSON(403, controller.RespErrNotEnabled)
76+
}
77+
})
78+
ana.GET("/betweenness", controller.BGPAnalysisBetweenness)
79+
ana.GET("/closeness", controller.BGPAnalysisCloseness)
80+
6881
r.GET("/api/list", controller.List)
6982
r.StaticFS("/assets/", &staticRouter{"/static/assets"})
7083
r.StaticFileFS("/avatar.png", "/static/avatar.png", http.FS(FS))

0 commit comments

Comments
 (0)