Files
mangezmieux/mangezmieux-backend/internal/responses/responses.go
2024-07-19 17:04:42 +02:00

35 lines
729 B
Go

package responses
import (
"encoding/json"
"mangezmieux-backend/internal/ginserver"
"net/http"
)
func JSON(w http.ResponseWriter, status int, data interface{}) {
w.Header().Set(ginserver.HeaderNameContentType, ginserver.HeaderValueApplicationJSONUTF8)
w.WriteHeader(status)
if data != nil {
err := json.NewEncoder(w).Encode(data)
if err != nil {
return
}
}
}
func JSONError(w http.ResponseWriter, e APIError) {
if e.Headers != nil {
for k, headers := range e.Headers {
for _, headerValue := range headers {
w.Header().Add(k, headerValue)
}
}
}
JSON(w, e.HTTPCode, e)
}
func JSONErrorWithMessage(w http.ResponseWriter, e APIError, message string) {
e.Description = message
JSONError(w, e)
}