27 lines
468 B
Go
27 lines
468 B
Go
|
package expvar
|
||
|
|
||
|
import (
|
||
|
"expvar"
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/gin-gonic/gin"
|
||
|
)
|
||
|
|
||
|
func Handler() gin.HandlerFunc {
|
||
|
return func(c *gin.Context) {
|
||
|
w := c.Writer
|
||
|
c.Header("Content-Type", "application/json; charset=utf-8")
|
||
|
w.Write([]byte("{\n"))
|
||
|
first := true
|
||
|
expvar.Do(func(kv expvar.KeyValue) {
|
||
|
if !first {
|
||
|
w.Write([]byte(",\n"))
|
||
|
}
|
||
|
first = false
|
||
|
fmt.Fprintf(w, "%q: %s", kv.Key, kv.Value)
|
||
|
})
|
||
|
w.Write([]byte("\n}\n"))
|
||
|
c.AbortWithStatus(200)
|
||
|
}
|
||
|
}
|