1
0
mirror of https://github.com/ebosas/microservices.git synced 2024-11-24 08:02:24 +02:00
microservices/cmd/server/api.go
2021-10-10 18:49:39 +03:00

28 lines
625 B
Go

package main
import (
"fmt"
"log"
"net/http"
"github.com/ebosas/microservices/internal/cache"
"github.com/go-redis/redis/v8"
)
// handleAPICache handles API calls for cached messages.
func handleAPICache(cr *redis.Client) func(w http.ResponseWriter, r *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
data, err := cache.GetCacheJSON(cr)
if err != nil {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 – Something went wrong"))
log.Printf("get cache json: %s", err)
return
}
w.Header().Set("Content-Type", "application/json")
fmt.Fprint(w, data)
}
}