server/info.go

33 lines
630 B
Go

package server
import (
"encoding/json"
"log"
"net/http"
"time"
)
const Version = "0.0.0"
var start time.Time
func init() {
start = time.Now()
}
// Info provides server version and uptime stats
func (c *Controller) Info(w http.ResponseWriter, req *http.Request) {
log.Println("version requested")
output := struct {
Version string `json:"version"`
Start string `json:"start"`
Uptime string `json:"uptime"`
}{
Version: Version,
Start: start.Format("2006-01-02 15:04:05"),
Uptime: time.Since(start).String(),
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(output)
}