Compare commits

...
3 Commits
Author SHA1 Message Date
cody ef183ab1ce add health route 2026-02-12 23:28:10 -08:00
cody d2e57f0af4 update git ignore 2026-02-12 23:28:03 -08:00
cody 40a9bb4724 fix build tag 2026-02-12 23:27:56 -08:00
3 changed files with 19 additions and 1 deletions
+1
View File
@@ -1 +1,2 @@
.env .env
.dockerenv
Regular → Executable
+1 -1
View File
@@ -10,6 +10,6 @@ echo "Doing build"
docker buildx build \ docker buildx build \
--platform linux/arm64 \ --platform linux/arm64 \
--push \ --push \
-t gitea.coupxd.com/cody/hello-fastapi:latest \ -t gitea.coupxd.com/cody/go-weather:latest \
. .
+17
View File
@@ -36,6 +36,10 @@ type Reading struct {
FetchedAt time.Time `json:"fetched_at"` FetchedAt time.Time `json:"fetched_at"`
} }
type HealthResponse struct {
Status string `json:"status"`
}
func getEnv(key string) string { func getEnv(key string) string {
val := os.Getenv(key) val := os.Getenv(key)
if val == "" { if val == "" {
@@ -243,6 +247,19 @@ func main() {
}) })
}) })
// GET /health
http.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) {
// TODO: Check if database is ready as well
if r.Method != http.MethodGet {
http.Error(w, "method not allowed", http.StatusMethodNotAllowed)
return
}
okStatus := HealthResponse{Status: "ok"}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(okStatus)
})
// GET /weather/history?city=London&limit=10 // GET /weather/history?city=London&limit=10
http.HandleFunc("/weather/history", func(w http.ResponseWriter, r *http.Request) { http.HandleFunc("/weather/history", func(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet { if r.Method != http.MethodGet {