/* This is some stuff... Authors: Georg Hopp Changes: 2018-09-30 [Georg Hopp] File created. Copyright © 2018 Georg Hopp This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package test import ( "encoding/json" "net/http" "strings" //"os" "io" ) type ApiHandler struct {} type version struct { Version string `json:"Version"` BuildCommit string `json:"BuildCommint"` BuildTime string `json:"BuildTimestamp"` } func (handler *ApiHandler) ServeHTTP( response http.ResponseWriter, request *http.Request, ) { dirs := strings.Split(request.URL.Path, "/") switch dirs[0] { case "version": v, err := json.Marshal( version{ VERSION, REVISION, BUILD_TIME, }, ) if err != nil { http.Error(response, "Unable to encode version information", 500) return } io.WriteString(response, string(v[:])) default: http.NotFound(response, request) return } } func router() { handler := ApiHandler{} http.Handle("/api/0.0.1/", http.StripPrefix("/api/0.0.1/", &handler)) } // vim: ts=4 sts=4 sw=4 noet tw=72: