@@ -9,39 +9,38 @@ import (
9
9
"github.com/zsais/go-gin-prometheus"
10
10
)
11
11
12
- var hostname = getHostname ()
13
-
14
- func getHostname () string {
15
- var name , err = os .Hostname ()
12
+ func ServiceInfoMiddleware () gin.HandlerFunc {
13
+ var hostname , err = os .Hostname ()
16
14
if err != nil {
17
15
panic (err )
18
16
}
19
- return name
17
+ return func (c * gin.Context ) {
18
+ c .Writer .Header ().Set ("X-Hostname" , hostname )
19
+ c .Next ()
20
+ }
20
21
}
21
22
22
23
func getVersion () string {
23
24
return "$Id$"
24
25
}
25
26
26
27
func helloFunc (c * gin.Context ) {
27
- c .Writer .Header ().Set ("X-Hostname" , hostname )
28
28
c .String (http .StatusOK , "Hello, World!" )
29
29
}
30
30
31
31
func healthFunc (c * gin.Context ) {
32
- c .Writer .Header ().Set ("X-Hostname" , hostname )
33
32
c .String (http .StatusOK , "" )
34
33
}
35
34
36
35
func versionFunc (c * gin.Context ) {
37
- c .Writer .Header ().Set ("X-Hostname" , hostname )
38
36
c .String (http .StatusOK , getVersion ())
39
37
}
40
38
41
39
func setupRouter (routePrefix string ) * gin.Engine {
42
40
router := gin .Default ()
43
41
ginprom := ginprometheus .NewPrometheus ("gin" )
44
42
ginprom .Use (router )
43
+ router .Use (ServiceInfoMiddleware ())
45
44
router .GET ("/health" , healthFunc )
46
45
47
46
rg := router .Group (routePrefix )
0 commit comments