dotenv, parsing fix email, moved dump tracnsport to new file gz, removed unwanted var jwt, added in HS256 sign/parse
ptr, ref and deref funcs response, use fmt.Fprint(f) validate, few new funcs
This commit is contained in:
@@ -8,6 +8,7 @@ package response
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"code.patial.tech/go/appcore/request"
|
||||
@@ -49,7 +50,10 @@ func reply(w http.ResponseWriter, data any, p *request.Pager) {
|
||||
// if data is nil, let's pass it on as null
|
||||
if data == nil {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
w.Write([]byte("{\"data\":null}"))
|
||||
_, writeErr := fmt.Fprint(w, "{\"data\":null}")
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -64,30 +68,45 @@ func reply(w http.ResponseWriter, data any, p *request.Pager) {
|
||||
func BadRequest(w http.ResponseWriter, err error) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
|
||||
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func InternalServerError(w http.ResponseWriter, err error) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
|
||||
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func SessionExpired(w http.ResponseWriter) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusUnauthorized)
|
||||
w.Write([]byte("{\"error\": \"Session is expired, please login again\"}"))
|
||||
_, writeErr := fmt.Fprint(w, "{\"error\": \"Session is expired, please login again\"}")
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func NotAutorized(w http.ResponseWriter) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte("{\"error\": \"You are not authorized to perform this action\"}"))
|
||||
_, writeErr := fmt.Fprint(w, "{\"error\": \"You are not authorized to perform this action\"}")
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
}
|
||||
|
||||
// Forbidden response error
|
||||
func Forbidden(w http.ResponseWriter, err error) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.WriteHeader(http.StatusForbidden)
|
||||
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
|
||||
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
|
||||
if writeErr != nil {
|
||||
slog.Error(writeErr.Error())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user