hw/main.go

46 lines
941 B
Go

package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"os"
)
const version = "v0.0.9"
type v struct {
Hostname string `json:"hostname"`
V string `json:"version"`
}
func main() {
hn, err := os.Hostname()
if err != nil {
log.Fatalf("hostname: %+v", err)
}
http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "application/json")
r := v{
Hostname: hn,
V: version,
}
if err := json.NewEncoder(w).Encode(r); err != nil {
log.Printf("json: %+v", err)
}
})
http.HandleFunc("/env", func(w http.ResponseWriter, req *http.Request) {
for _, line := range os.Environ() {
fmt.Fprintf(w, "%v\n", line)
}
})
http.HandleFunc("/live", health)
http.HandleFunc("/ready", health)
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatalf("listen and serve: %v", err)
}
}
func health(w http.ResponseWriter, req *http.Request) {}