25 lines
652 B
Go
25 lines
652 B
Go
package handlers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
)
|
|
|
|
func WriteJSON(writer http.ResponseWriter, status int, payload any) {
|
|
writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
|
writer.WriteHeader(status)
|
|
_ = json.NewEncoder(writer).Encode(payload)
|
|
}
|
|
|
|
func WriteText(writer http.ResponseWriter, status int, message string) {
|
|
writer.Header().Set("Content-Type", "text/plain; charset=utf-8")
|
|
writer.WriteHeader(status)
|
|
_, _ = writer.Write([]byte(message))
|
|
}
|
|
|
|
func DecodeJSON(request *http.Request, target any) error {
|
|
decoder := json.NewDecoder(request.Body)
|
|
decoder.DisallowUnknownFields()
|
|
return decoder.Decode(target)
|
|
}
|